Author: rfscholte Date: Tue Jan 12 21:37:00 2016 New Revision: 1724329 URL: http://svn.apache.org/viewvc?rev=1724329&view=rev Log: [MINSTALL-118] MavenProject with only attachments must have packaging "pom"
Added: maven/plugins/trunk/maven-install-plugin/src/it/no-main-artifact-1/invoker.properties maven/plugins/trunk/maven-install-plugin/src/it/no-main-artifact-1/verify.groovy maven/plugins/trunk/maven-install-plugin/src/it/no-main-artifact-2/invoker.properties maven/plugins/trunk/maven-install-plugin/src/it/no-main-artifact-2/verify.groovy Removed: maven/plugins/trunk/maven-install-plugin/src/it/no-main-artifact-1/verify.bsh maven/plugins/trunk/maven-install-plugin/src/it/no-main-artifact-2/verify.bsh Modified: maven/plugins/trunk/maven-install-plugin/src/main/java/org/apache/maven/plugin/install/InstallFileMojo.java maven/plugins/trunk/maven-install-plugin/src/main/java/org/apache/maven/plugin/install/InstallMojo.java maven/plugins/trunk/maven-install-plugin/src/test/java/org/apache/maven/plugin/install/InstallMojoTest.java maven/plugins/trunk/maven-install-plugin/src/test/resources/unit/basic-install-test-with-attached-artifacts/plugin-config.xml Added: maven/plugins/trunk/maven-install-plugin/src/it/no-main-artifact-1/invoker.properties URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-install-plugin/src/it/no-main-artifact-1/invoker.properties?rev=1724329&view=auto ============================================================================== --- maven/plugins/trunk/maven-install-plugin/src/it/no-main-artifact-1/invoker.properties (added) +++ maven/plugins/trunk/maven-install-plugin/src/it/no-main-artifact-1/invoker.properties Tue Jan 12 21:37:00 2016 @@ -0,0 +1,17 @@ +# 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. +invoker.buildResult=failure \ No newline at end of file Added: maven/plugins/trunk/maven-install-plugin/src/it/no-main-artifact-1/verify.groovy URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-install-plugin/src/it/no-main-artifact-1/verify.groovy?rev=1724329&view=auto ============================================================================== --- maven/plugins/trunk/maven-install-plugin/src/it/no-main-artifact-1/verify.groovy (added) +++ maven/plugins/trunk/maven-install-plugin/src/it/no-main-artifact-1/verify.groovy Tue Jan 12 21:37:00 2016 @@ -0,0 +1,23 @@ +/* + * 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. + */ + +def buildLog = new File ( basedir, "build.log") + +assert buildLog.text.contains( "The packaging plugin for this project did not assign " + + "a main file to the project but it has attachments. Change packaging to 'pom'." ) \ No newline at end of file Added: maven/plugins/trunk/maven-install-plugin/src/it/no-main-artifact-2/invoker.properties URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-install-plugin/src/it/no-main-artifact-2/invoker.properties?rev=1724329&view=auto ============================================================================== --- maven/plugins/trunk/maven-install-plugin/src/it/no-main-artifact-2/invoker.properties (added) +++ maven/plugins/trunk/maven-install-plugin/src/it/no-main-artifact-2/invoker.properties Tue Jan 12 21:37:00 2016 @@ -0,0 +1,17 @@ +# 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. +invoker.buildResult=failure \ No newline at end of file Added: maven/plugins/trunk/maven-install-plugin/src/it/no-main-artifact-2/verify.groovy URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-install-plugin/src/it/no-main-artifact-2/verify.groovy?rev=1724329&view=auto ============================================================================== --- maven/plugins/trunk/maven-install-plugin/src/it/no-main-artifact-2/verify.groovy (added) +++ maven/plugins/trunk/maven-install-plugin/src/it/no-main-artifact-2/verify.groovy Tue Jan 12 21:37:00 2016 @@ -0,0 +1,23 @@ +/* + * 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. + */ + +def buildLog = new File ( basedir, "build.log") + +assert buildLog.text.contains( "The packaging plugin for this project did not assign " + + "a main file to the project but it has attachments. Change packaging to 'pom'." ) \ No newline at end of file Modified: maven/plugins/trunk/maven-install-plugin/src/main/java/org/apache/maven/plugin/install/InstallFileMojo.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-install-plugin/src/main/java/org/apache/maven/plugin/install/InstallFileMojo.java?rev=1724329&r1=1724328&r2=1724329&view=diff ============================================================================== --- maven/plugins/trunk/maven-install-plugin/src/main/java/org/apache/maven/plugin/install/InstallFileMojo.java (original) +++ maven/plugins/trunk/maven-install-plugin/src/main/java/org/apache/maven/plugin/install/InstallFileMojo.java Tue Jan 12 21:37:00 2016 @@ -274,7 +274,7 @@ public class InstallFileMojo } validateArtifactInformation(); - + Artifact artifact = artifactFactory.createArtifactWithClassifier( groupId, artifactId, version, packaging, classifier ); @@ -526,24 +526,6 @@ public class InstallFileMojo } } - /** - * @return the localRepositoryPath - */ - @SuppressWarnings( "UnusedDeclaration" ) - public File getLocalRepositoryPath() - { - return this.localRepositoryPath; - } - - /** - * @param theLocalRepositoryPath the localRepositoryPath to set - */ - public void setLocalRepositoryPath( File theLocalRepositoryPath ) - { - this.localRepositoryPath = theLocalRepositoryPath; - } - - private static class InstallModelProblemCollector implements ModelProblemCollector { /** */ Modified: maven/plugins/trunk/maven-install-plugin/src/main/java/org/apache/maven/plugin/install/InstallMojo.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-install-plugin/src/main/java/org/apache/maven/plugin/install/InstallMojo.java?rev=1724329&r1=1724328&r2=1724329&view=diff ============================================================================== --- maven/plugins/trunk/maven-install-plugin/src/main/java/org/apache/maven/plugin/install/InstallMojo.java (original) +++ maven/plugins/trunk/maven-install-plugin/src/main/java/org/apache/maven/plugin/install/InstallMojo.java Tue Jan 12 21:37:00 2016 @@ -182,21 +182,8 @@ public class InstallMojo } else if ( !attachedArtifacts.isEmpty() ) { - getLog().info( "No primary artifact to install, installing attached artifacts instead." ); - - Artifact pomArtifact = - artifactFactory.createProjectArtifact( artifact.getGroupId(), artifact.getArtifactId(), - artifact.getBaseVersion() ); - pomArtifact.setFile( pomFile ); - if ( updateReleaseInfo ) - { - pomArtifact.setRelease( true ); - } - -// installer.install( pomFile, pomArtifact, localRepository ); - installer.install( session.getProjectBuildingRequest(), Collections.singletonList( pomArtifact ) ); - installChecksums( pomArtifact, createChecksum ); - addMetaDataFilesForArtifact( pomArtifact, metadataFiles, createChecksum ); + throw new MojoExecutionException( "The packaging plugin for this project did not assign " + + "a main file to the project but it has attachments. Change packaging to 'pom'." ); } else { Modified: maven/plugins/trunk/maven-install-plugin/src/test/java/org/apache/maven/plugin/install/InstallMojoTest.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-install-plugin/src/test/java/org/apache/maven/plugin/install/InstallMojoTest.java?rev=1724329&r1=1724328&r2=1724329&view=diff ============================================================================== --- maven/plugins/trunk/maven-install-plugin/src/test/java/org/apache/maven/plugin/install/InstallMojoTest.java (original) +++ maven/plugins/trunk/maven-install-plugin/src/test/java/org/apache/maven/plugin/install/InstallMojoTest.java Tue Jan 12 21:37:00 2016 @@ -145,10 +145,10 @@ public class InstallMojoTest attachedArtifact.getArtifactId() + "/" + attachedArtifact.getVersion() + "/" + attachedArtifact.getArtifactId() + "-" + attachedArtifact.getVersion() + "." + packaging ); - assertTrue( installedArtifact.exists() ); + assertTrue( installedArtifact.getPath() + " does not exist", installedArtifact.exists() ); } - assertEquals( 12, FileUtils.getFiles( new File( LOCAL_REPO ), null, null ).size() ); + assertEquals( 13, FileUtils.getFiles( new File( LOCAL_REPO ), null, null ).size() ); } public void testUpdateReleaseParamSetToTrue() Modified: maven/plugins/trunk/maven-install-plugin/src/test/resources/unit/basic-install-test-with-attached-artifacts/plugin-config.xml URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-install-plugin/src/test/resources/unit/basic-install-test-with-attached-artifacts/plugin-config.xml?rev=1724329&r1=1724328&r2=1724329&view=diff ============================================================================== --- maven/plugins/trunk/maven-install-plugin/src/test/resources/unit/basic-install-test-with-attached-artifacts/plugin-config.xml (original) +++ maven/plugins/trunk/maven-install-plugin/src/test/resources/unit/basic-install-test-with-attached-artifacts/plugin-config.xml Tue Jan 12 21:37:00 2016 @@ -26,7 +26,9 @@ under the License. <project implementation="org.apache.maven.plugin.testing.stubs.MavenProjectStub"> <file>${basedir}/src/test/resources/unit/basic-install-test-with-attached-artifacts/plugin-config.xml</file> <packaging>jar</packaging> - <artifact implementation="org.apache.maven.plugin.install.stubs.InstallArtifactStub"/> + <artifact implementation="org.apache.maven.plugin.install.stubs.InstallArtifactStub"> + <file>${basedir}/src/test/resources/unit/basic-install-test-with-attached-artifacts/plugin-config.xml</file> + </artifact> <attachedArtifacts> <attachedArtifact implementation="org.apache.maven.plugin.install.stubs.AttachedArtifactStub0"/>