@Override public ArtifactManagerState getState() { final ArtifactManagerState state = new ArtifactManagerState(); for (Artifact artifact : getAllArtifactsIncludingInvalid()) { final ArtifactState artifactState; if (artifact instanceof InvalidArtifact) { artifactState = ((InvalidArtifact) artifact).getState(); } else { artifactState = new ArtifactState(); artifactState.setBuildOnMake(artifact.isBuildOnMake()); artifactState.setName(artifact.getName()); artifactState.setOutputPath(artifact.getOutputPath()); artifactState.setRootElement(serializePackagingElement(artifact.getRootElement())); artifactState.setArtifactType(artifact.getArtifactType().getId()); for (ArtifactPropertiesProvider provider : artifact.getPropertiesProviders()) { final ArtifactPropertiesState propertiesState = serializeProperties(provider, artifact.getProperties(provider)); if (propertiesState != null) { artifactState.getPropertiesList().add(propertiesState); } } Collections.sort( artifactState.getPropertiesList(), new Comparator<ArtifactPropertiesState>() { @Override public int compare( @NotNull ArtifactPropertiesState o1, @NotNull ArtifactPropertiesState o2) { return o1.getId().compareTo(o2.getId()); } }); } state.getArtifacts().add(artifactState); } return state; }
@Override public void addElementsToDirectory( @NotNull Artifact artifact, @NotNull String relativePath, @NotNull PackagingElement<?> element) { addElementsToDirectory(artifact, relativePath, Collections.singletonList(element)); }
@NotNull @Override public List<DeploymentSource> createArtifactDeploymentSources( Project project, ArtifactType... artifactTypes) { if (project.isDefault()) return Collections.emptyList(); Artifact[] artifacts = ArtifactManager.getInstance(project).getArtifacts(); List<Artifact> supportedArtifacts = new ArrayList<>(); Set<ArtifactType> typeSet = ContainerUtil.set(artifactTypes); for (Artifact artifact : artifacts) { if (typeSet.contains(artifact.getArtifactType())) { supportedArtifacts.add(artifact); } } return createArtifactDeploymentSources(project, supportedArtifacts); }