// 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

import org.jetbrains.jps.artifacts.Artifact
import org.jetbrains.jps.util.FileUtil

class AntPrePostStepsInArtifactsTest extends JpsBuildTestCase {
  public void test() throws Exception {
    Project project = loadProject("testData/artifactWithAntPrePostTasks/.idea", [:])
    ProjectBuilder builder = createBuilder(project)
    builder.tempFolder = FileUtil.createTempDirectory("tmp").absolutePath
    builder.clean()
    builder.buildArtifact("main")
    builder.deleteTempFiles()
    File outDir = new File("testData/artifactWithAntPrePostTasks/out");
    assertOutput(outDir.getAbsolutePath(), {
      dir("artifacts") {
        dir("main") {
          dir("dir") {
            file("file.txt")
          }
          file("prestep.txt", "pre1")
          file("poststep.txt", "${com.intellij.openapi.util.io.FileUtil.toSystemIndependentName(outDir.absolutePath)}/artifacts/main")
        }
      }
    })
  }

  public void test_broken_artifact() throws Exception {
    Project project = loadProject("testData/artifactWithAntPrePostTasks/.idea", [:])
    assertEquals(2, project.artifacts.size());
    for (Artifact a: project.artifacts) {
      assertNull(project.artifacts.properties);
    }
  }
}
