mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-10-01 09:03:31 +07:00
modification tracker for artifacts
This commit is contained in:
@@ -6,6 +6,7 @@ import com.intellij.openapi.application.WriteAction;
|
||||
import com.intellij.openapi.components.*;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.ModificationTracker;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.packaging.artifacts.*;
|
||||
import com.intellij.packaging.elements.*;
|
||||
@@ -41,6 +42,12 @@ public class ArtifactManagerImpl extends ArtifactManager implements ProjectCompo
|
||||
private boolean myInsideCommit = false;
|
||||
@NonNls public static final String PACKAGING_ELEMENT_NAME = "element";
|
||||
@NonNls public static final String TYPE_ID_ATTRIBUTE = "id";
|
||||
private long myModificationCount;
|
||||
private final ModificationTracker myModificationTracker = new ModificationTracker() {
|
||||
public long getModificationCount() {
|
||||
return myModificationCount;
|
||||
}
|
||||
};
|
||||
|
||||
public ArtifactManagerImpl(Project project) {
|
||||
myProject = project;
|
||||
@@ -235,6 +242,7 @@ public class ArtifactManagerImpl extends ArtifactManager implements ProjectCompo
|
||||
}
|
||||
|
||||
myModel.setArtifactsList(allArtifacts);
|
||||
myModificationCount++;
|
||||
final ArtifactListener publisher = myProject.getMessageBus().syncPublisher(TOPIC);
|
||||
for (ArtifactImpl artifact : added) {
|
||||
publisher.artifactAdded(artifact);
|
||||
@@ -283,6 +291,11 @@ public class ArtifactManagerImpl extends ArtifactManager implements ProjectCompo
|
||||
}.execute();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ModificationTracker getModificationTracker() {
|
||||
return myModificationTracker;
|
||||
}
|
||||
|
||||
private static class ArtifactManagerModel extends ArtifactModelBase {
|
||||
private List<ArtifactImpl> myArtifactsList = new ArrayList<ArtifactImpl>();
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.intellij.packaging.artifacts;
|
||||
import com.intellij.openapi.application.ex.ApplicationManagerEx;
|
||||
import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.ModificationTracker;
|
||||
import com.intellij.packaging.elements.CompositePackagingElement;
|
||||
import com.intellij.packaging.elements.PackagingElement;
|
||||
import com.intellij.packaging.elements.PackagingElementResolvingContext;
|
||||
@@ -33,6 +34,8 @@ public abstract class ArtifactManager implements ArtifactModel {
|
||||
public abstract void addElementsToDirectory(@NotNull Artifact artifact, @NotNull String relativePath,
|
||||
@NotNull Collection<? extends PackagingElement<?>> elements);
|
||||
|
||||
public abstract ModificationTracker getModificationTracker();
|
||||
|
||||
public static boolean useArtifactsForDeployment() {
|
||||
return Boolean.parseBoolean(System.getProperty("idea.use.artifacts.for.deployment"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user