/******************************************************************************* | |
* Copyright (c) 2015, 2019 SAP SE and others. | |
* All rights reserved. This program and the accompanying materials | |
* are made available under the terms of the Eclipse Public License v1.0 | |
* which accompanies this distribution, and is available at | |
* http://www.eclipse.org/legal/epl-v10.html | |
* | |
* Contributors: | |
* SAP SE - initial API and implementation | |
* Christoph Läubrich - add testPomlessFlatBuildExtension | |
*******************************************************************************/ | |
package org.eclipse.tycho.extras.pomless; | |
import static java.util.Arrays.asList; | |
import static org.eclipse.tycho.extras.its.TychoMatchers.isFile; | |
import static org.junit.Assert.assertThat; | |
import java.io.File; | |
import org.apache.maven.it.Verifier; | |
import org.eclipse.tycho.extras.its.AbstractTychoExtrasIntegrationTest; | |
import org.junit.Test; | |
public class TychoPomlessITest extends AbstractTychoExtrasIntegrationTest { | |
@Test | |
public void testPomlessBuildExtension() throws Exception { | |
Verifier verifier = getVerifier("testpomless", false); | |
verifier.addCliOption("-Dp2.repo=" + new File("repositories/kepler").getAbsoluteFile().toURI().toString()); | |
verifier.executeGoals(asList("clean", "verify")); | |
verifier.verifyErrorFreeLog(); | |
// sanity check pom-less if bundle, test bundle and feature have been built | |
check(new File(verifier.getBasedir())); | |
} | |
private void check(File baseDir) { | |
assertThat(new File(baseDir, "bundle1/target/pomless.bundle-0.1.0-SNAPSHOT.jar"), isFile()); | |
assertThat(new File(baseDir, "bundle1.tests/target/pomless.bundle.tests-1.0.1.jar"), isFile()); | |
assertThat(new File(baseDir, "feature/target/pomless.feature-1.0.0-SNAPSHOT.jar"), isFile()); | |
assertThat(new File(baseDir, "product/target/my.test.product.pomless-1.0.0.zip"), isFile()); | |
isRepository(baseDir, "product"); | |
assertThat(new File(baseDir, "site1/target/site1.eclipse-repository-0.0.1-SNAPSHOT.zip"), isFile()); | |
isRepository(baseDir, "site1"); | |
} | |
@Test | |
public void testPomlessFlatBuildExtension() throws Exception { | |
Verifier verifier = getVerifier("testpomless-flat", false); | |
verifier.addCliOption("-Dp2.repo=" + new File("repositories/kepler").getAbsoluteFile().toURI().toString()); | |
verifier.addCliOption("-f"); | |
verifier.addCliOption("aggregate/pom.xml"); | |
verifier.executeGoals(asList("clean", "verify")); | |
verifier.verifyErrorFreeLog(); | |
// sanity check pom-less if bundle, test bundle and feature have been built | |
check(new File(verifier.getBasedir())); | |
} | |
@Test | |
public void testPomlessStructuredBuildExtension() throws Exception { | |
Verifier verifier = getVerifier("testpomless-structured", false); | |
verifier.addCliOption("-Dp2.repo=" + new File("repositories/kepler").getAbsoluteFile().toURI().toString()); | |
verifier.executeGoals(asList("clean", "verify")); | |
verifier.verifyErrorFreeLog(); | |
// sanity check pom-less if bundle, test bundle and feature have been built | |
File baseDir = new File(verifier.getBasedir()); | |
assertThat(new File(baseDir, "bundles/bundle1/target/pomless.bundle-0.1.0-SNAPSHOT.jar"), isFile()); | |
assertThat(new File(baseDir, "tests/bundle1.tests/target/pomless.bundle.tests-1.0.1.jar"), isFile()); | |
assertThat(new File(baseDir, "features/feature/target/pomless.feature-1.0.0-SNAPSHOT.jar"), isFile()); | |
assertThat(new File(baseDir, "releng/product/target/my.test.product.pomless-1.0.0.zip"), isFile()); | |
isRepository(baseDir, "releng/product"); | |
assertThat(new File(baseDir, "releng/site1/target/site1.eclipse-repository-0.0.1-SNAPSHOT.zip"), isFile()); | |
isRepository(baseDir, "releng/site1"); | |
} | |
private void isRepository(File baseDir, String subdir) { | |
assertThat(new File(baseDir, subdir + "/target/repository/artifacts.jar"), isFile()); | |
assertThat(new File(baseDir, subdir + "/target/repository/content.jar"), isFile()); | |
} | |
} |