Search in sources :

Example 66 with JpsArtifact

use of org.jetbrains.jps.model.artifact.JpsArtifact in project intellij-community by JetBrains.

the class IncrementalArtifactBuildingTest method testRemoveDeletedFileFromArchive.

public void testRemoveDeletedFileFromArchive() {
    String file1 = createFile("dir/a.txt");
    createFile("dir/b.txt");
    final JpsArtifact a = addArtifact("a", root().archive("a.jar").parentDirCopy(file1));
    buildAll();
    assertOutput(a, fs().archive("a.jar").file("a.txt").file("b.txt"));
    delete(file1);
    buildAll();
    assertDeletedAndCopied("out/artifacts/a/a.jar", "dir/b.txt");
    assertOutput(a, fs().archive("a.jar").file("b.txt"));
    buildAllAndAssertUpToDate();
}
Also used : JpsArtifact(org.jetbrains.jps.model.artifact.JpsArtifact)

Example 67 with JpsArtifact

use of org.jetbrains.jps.model.artifact.JpsArtifact in project intellij-community by JetBrains.

the class IncrementalArtifactBuildingTest method testArtifactWithOutputPathEqualToSourcePath.

public void testArtifactWithOutputPathEqualToSourcePath() {
    String root = PathUtil.getParentPath(createFile("d/1.txt"));
    JpsArtifact a = addArtifact(root().dirCopy(root));
    a.setOutputPath(root);
    buildArtifacts(a);
    assertOutput(a, fs().file("1.txt"));
    String file2 = createFile("d/2.txt");
    buildArtifacts(a);
    assertOutput(a, fs().file("1.txt").file("2.txt"));
    a.getRootElement().addChild(JpsPackagingElementFactory.getInstance().createFileCopy(createFile("d2/3.txt"), null));
    buildArtifacts(a);
    assertOutput(a, fs().file("1.txt").file("2.txt").file("3.txt"));
    buildAllAndAssertUpToDate();
    assertOutput(a, fs().file("1.txt").file("2.txt").file("3.txt"));
    delete(file2);
    buildAllAndAssertUpToDate();
    assertOutput(a, fs().file("1.txt").file("3.txt"));
}
Also used : JpsArtifact(org.jetbrains.jps.model.artifact.JpsArtifact)

Example 68 with JpsArtifact

use of org.jetbrains.jps.model.artifact.JpsArtifact in project intellij-community by JetBrains.

the class IncrementalArtifactBuildingTest method testDeleteFilesFromSelectedArtifactsOnly.

//IDEADEV-41556
public void testDeleteFilesFromSelectedArtifactsOnly() throws Exception {
    final String file = createFile("a/a.txt");
    final JpsArtifact a1 = addArtifact("a1", root().parentDirCopy(file));
    final JpsArtifact a2 = addArtifact("a2", root().parentDirCopy(file));
    buildAll();
    assertOutput(a1, fs().file("a.txt"));
    assertOutput(a2, fs().file("a.txt"));
    delete(file);
    buildArtifacts(a1);
    assertDeleted("out/artifacts/a1/a.txt");
    assertEmptyOutput(a1);
    assertOutput(a2, fs().file("a.txt"));
    buildArtifacts(a2);
    assertDeleted("out/artifacts/a2/a.txt");
    assertEmptyOutput(a1);
    assertEmptyOutput(a2);
}
Also used : JpsArtifact(org.jetbrains.jps.model.artifact.JpsArtifact)

Example 69 with JpsArtifact

use of org.jetbrains.jps.model.artifact.JpsArtifact in project intellij-community by JetBrains.

the class IncrementalArtifactBuildingTest method testRemoveAllFilesFromArchive.

public void testRemoveAllFilesFromArchive() {
    String file1 = createFile("dir/a.txt");
    String file2 = createFile("dir/b.txt");
    final JpsArtifact a = addArtifact("a", archive("a.jar").parentDirCopy(file1));
    buildAll();
    assertOutput(a, fs().archive("a.jar").file("a.txt").file("b.txt"));
    delete(file1);
    delete(file2);
    buildAll();
    assertDeleted("out/artifacts/a/a.jar");
    assertEmptyOutput(a);
    buildAllAndAssertUpToDate();
}
Also used : JpsArtifact(org.jetbrains.jps.model.artifact.JpsArtifact)

Example 70 with JpsArtifact

use of org.jetbrains.jps.model.artifact.JpsArtifact in project intellij-community by JetBrains.

the class ArtifactBuilderOverwriteTest method testOverwriteCopiedFileByExtracted.

public void testOverwriteCopiedFileByExtracted() {
    String jar = createArchive("x.jar", "x.txt", "1");
    String file = createFile("x.txt", "2");
    JpsArtifact a = addArtifact(root().extractedDir(jar, "").fileCopy(file));
    buildAll();
    assertOutput(a, fs().file("x.txt", "1"));
    buildAllAndAssertUpToDate();
    change(file, "3");
    buildAllAndAssertUpToDate();
    assertOutput(a, fs().file("x.txt", "1"));
    delete(jar);
    createArchive("x.jar", "x.txt", "4");
    buildAll();
    assertOutput(a, fs().file("x.txt", "4"));
    delete(jar);
    buildAll();
    assertOutput(a, fs().file("x.txt", "3"));
}
Also used : JpsArtifact(org.jetbrains.jps.model.artifact.JpsArtifact)

Aggregations

JpsArtifact (org.jetbrains.jps.model.artifact.JpsArtifact)85 File (java.io.File)10 JpsModule (org.jetbrains.jps.model.module.JpsModule)10 JarFile (java.util.jar.JarFile)4 ZipFile (java.util.zip.ZipFile)4 IOException (java.io.IOException)3 NotNull (org.jetbrains.annotations.NotNull)3 CompilerMessage (org.jetbrains.jps.incremental.messages.CompilerMessage)3 JpsCompositePackagingElement (org.jetbrains.jps.model.artifact.elements.JpsCompositePackagingElement)3 THashSet (gnu.trove.THashSet)2 JpsAndroidModuleExtension (org.jetbrains.jps.android.model.JpsAndroidModuleExtension)2 JpsElement (org.jetbrains.jps.model.JpsElement)2 JpsPackagingElement (org.jetbrains.jps.model.artifact.elements.JpsPackagingElement)2 JpsLibrary (org.jetbrains.jps.model.library.JpsLibrary)2 BuildFileProperty (com.intellij.lang.ant.config.impl.BuildFileProperty)1 SmartList (com.intellij.util.SmartList)1 HashMap (com.intellij.util.containers.HashMap)1 HashSet (com.intellij.util.containers.HashSet)1 MultiMap (com.intellij.util.containers.MultiMap)1 TIntObjectHashMap (gnu.trove.TIntObjectHashMap)1