| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| |
| import java.io.*; |
| |
| void checkExpected( File dir, String[] expectedFiles ) |
| { |
| for ( String expectedFile : expectedFiles ) |
| { |
| File file = new File( dir, expectedFile ); |
| System.out.println( "Checking for existence of " + file ); |
| if ( !file.isFile() ) |
| { |
| throw new Exception( "Missing file " + file ); |
| } |
| } |
| } |
| |
| void checkExpected( File dir, String[] expectedFiles, String[] unexpectedFiles ) |
| { |
| checkExpected( dir, expectedFiles ); |
| |
| for ( String unexpectedFile : unexpectedFiles ) |
| { |
| File file = new File( dir, unexpectedFile ); |
| System.out.println( "Checking for inexistence of " + file ); |
| if ( file.isFile() ) |
| { |
| throw new Exception( "Unexpected file " + file + " found" ); |
| } |
| } |
| } |
| |
| File baseOutput = new File( basedir, "target/it" ); |
| |
| |
| // test-1 |
| String[] expectedFiles = { |
| "maven-model-2.0.6.jar", |
| "maven-model-2.0.6.pom", |
| "plexus-utils-1.4.1.jar", |
| "plexus-utils-1.4.1.pom", |
| "maven-model-2.0.6-sources.jar", |
| "maven-model-2.0.6-javadoc.jar", |
| "maven-artifact-2.0.6.jar", |
| "maven-artifact-2.0.6.pom", |
| "maven-settings-2.0.6.jar", |
| "maven-settings-2.0.6.pom" |
| }; |
| |
| String [] unexpectedFiles = { |
| "plexus-interpolation-1.11.jar", |
| "plexus-interpolation-1.11.pom", |
| "plexus-plexus-container-default-1.0-alpha-9-stable-1.jar", |
| "plexus-plexus-container-default-1.0-alpha-9-stable-1.pom" |
| }; |
| |
| checkExpected( new File( baseOutput, "copy-dep-test-1" ), expectedFiles, unexpectedFiles ); |
| |
| |
| // test-2 |
| String [] expectedFiles2 = { |
| "maven-model-2.0.6.jar", |
| "plexus-utils-1.4.1.jar" |
| }; |
| |
| String [] unexpectedFiles2 = { |
| "plexus-utils-1.4.1.pom", |
| "maven-model-2.0.6.pom", |
| "maven-model-2.0.6-sources.jar", |
| "maven-model-2.0.6-javadoc.jar" |
| }; |
| |
| checkExpected( new File( baseOutput, "copy-dep-test-2" ), expectedFiles2, unexpectedFiles2 ); |
| |
| |
| |
| // test-3 |
| String [] expectedFiles3 = { |
| "maven-model-2.0.6-sources.jar" |
| }; |
| |
| String [] unexpectedFiles3 = { |
| "plexus-utils-1.4.1.pom", |
| "maven-model-2.0.6.pom", |
| "maven-model-2.0.6-javadoc.jar", |
| "maven-model-2.0.6.jar", |
| "plexus-utils-1.4.1.jar" |
| }; |
| |
| checkExpected( new File( baseOutput, "copy-dep-test-3" ), expectedFiles3, unexpectedFiles3 ); |
| |
| |
| // repositoryLayout |
| String [] expectedFiles4 = { |
| "org/apache/maven/maven-model/maven-metadata-local.xml", |
| "org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.jar", |
| "org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom", |
| "org/apache/maven/maven-model/2.0.6/maven-model-2.0.6-sources.jar", |
| "org/apache/maven/maven-model/2.0.6/maven-model-2.0.6-javadoc.jar", |
| "org/codehaus/plexus/plexus-utils/maven-metadata-local.xml", |
| "org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.jar", |
| "org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom", |
| "org/apache/apache/5/apache-5.pom", // parent pom |
| "org/apache/maven/maven/2.0.6/maven-2.0.6.pom", // parent of maven-model |
| "org/apache/apache/3/apache-3.pom", // parent of parent of maven |
| "org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom" // parent of plexus-utils |
| }; |
| |
| String [] unexpectedFiles4 = { |
| "plexus-utils-1.4.1.pom", |
| "maven-model-2.0.6.pom", |
| "org/apache/maven/maven-parent/5/maven-parent-5.pom", // parent of maven, excluded by artifactId |
| }; |
| |
| checkExpected( new File( baseOutput, "repositoryLayout" ), expectedFiles4, unexpectedFiles4 ); |
| |
| return true; |