testSrc/org/jetbrains/jps/BuildFromIdeaProjectTest.groovy (68 lines of code) (raw):
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.jps
/**
* @author nik
*/
class BuildFromIdeaProjectTest extends JpsBuildTestCase {
public void testLoadFromIpr() {
doTest("testData/iprProject/iprProject.ipr", getGlobalLib(), expectedOutput("iprProject"))
}
public void testLoadDirBased() throws Exception {
doTest("testData/dirBasedProject", getGlobalLib(), expectedOutput("dirBased"))
}
private Closure getGlobalLib() {
return {Project project, ProjectBuilder projectBuilder ->
project.createGlobalLibrary("jdom") {
classpath "testData/iprProject/lib/jdom.jar"
}
}
}
private Closure expectedOutput(String moduleName) {
return {
dir("artifacts") {
dir("archive") {
archive("archive.jar") {
dir("files") {
dir("dir") {
file("f.txt", "f")
}
file("f.txt", "f")
file("g.txt", "f")
}
archive("sources.zip") {
dir("xxx") {
file("MyClass.java")
}
}
dir("META-INF") { file("MANIFEST.MF") }
}
}
dir("files") {
dir("dir") {
file("f.txt", "f")
}
file("f.txt", "f")
file("g.txt", "f")
}
dir("explodedWar") {
dir("WEB-INF") {
dir("classes") {
dir("xxx") {
file("MyClass.class")
}
}
dir("lib") {
file("jdom.jar")
file("junit.jar")
}
file("web.xml")
}
file("index.jsp")
}
}
dir("production") {
dir(moduleName) {
dir("xxx") {
file("MyClass.class")
}
}
}
}
}
}