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") } } } } } }