Author: rfscholte Date: Sun Mar 24 13:11:24 2013 New Revision: 1460347 URL: http://svn.apache.org/r1460347 Log: Initial commit maven-project-utils
Added: maven/shared/trunk/maven-project-utils/ (with props) maven/shared/trunk/maven-project-utils/pom.xml maven/shared/trunk/maven-project-utils/src/ (with props) maven/shared/trunk/maven-project-utils/src/it/ (with props) maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/ (with props) maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/aggregator/ (with props) maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/aggregator/pom.xml maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/invoker.properties maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/project/ (with props) maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/project/pom.xml maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/verify.groovy maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/ (with props) maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/invoker.properties maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/module/ (with props) maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/module/pom.xml maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/pom.xml maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/verify.groovy maven/shared/trunk/maven-project-utils/src/it/settings.xml maven/shared/trunk/maven-project-utils/src/it/setup-plugin/ (with props) maven/shared/trunk/maven-project-utils/src/it/setup-plugin/invoker.properties maven/shared/trunk/maven-project-utils/src/it/setup-plugin/pom.xml maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/ (with props) maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/ (with props) maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/ (with props) maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/ (with props) maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/apache/ (with props) maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/apache/maven/ (with props) maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/apache/maven/shared/ (with props) maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/apache/maven/shared/project/ (with props) maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/apache/maven/shared/project/utils/ (with props) maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/apache/maven/shared/project/utils/it/ (with props) maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/apache/maven/shared/project/utils/it/ResolveSiteMojo.java maven/shared/trunk/maven-project-utils/src/it/standalone/ (with props) maven/shared/trunk/maven-project-utils/src/it/standalone/invoker.properties maven/shared/trunk/maven-project-utils/src/it/standalone/pom.xml maven/shared/trunk/maven-project-utils/src/it/standalone/verify.groovy maven/shared/trunk/maven-project-utils/src/main/ (with props) maven/shared/trunk/maven-project-utils/src/main/java/ (with props) maven/shared/trunk/maven-project-utils/src/main/java/org/ (with props) maven/shared/trunk/maven-project-utils/src/main/java/org/apache/ (with props) maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/ (with props) maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/ (with props) maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/ (with props) maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/ (with props) maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/ProjectUtils.java maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/ScmUtils.java maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/SiteUtils.java maven/shared/trunk/maven-project-utils/src/test/ (with props) Propchange: maven/shared/trunk/maven-project-utils/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Propchange: maven/shared/trunk/maven-project-utils/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sun Mar 24 13:11:24 2013 @@ -0,0 +1,4 @@ +.classpath +.project +.settings +target Added: maven/shared/trunk/maven-project-utils/pom.xml URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-project-utils/pom.xml?rev=1460347&view=auto ============================================================================== --- maven/shared/trunk/maven-project-utils/pom.xml (added) +++ maven/shared/trunk/maven-project-utils/pom.xml Sun Mar 24 13:11:24 2013 @@ -0,0 +1,106 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!-- * 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. * --> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.apache.maven.shared</groupId> + <artifactId>maven-shared-components</artifactId> + <version>19</version> + <relativePath>../maven-shared-components/pom.xml</relativePath> + </parent> + + <artifactId>maven-project-utils</artifactId> + <version>1.0-SNAPSHOT</version> + + <name>Maven Project Utils</name> + + <description> + Utils for Maven Projects, such as resolving multimodule paths + </description> + + <scm> + <connection>scm:svn:http://svn.apache.org/repos/asf/maven/shared/trunk/maven-project-utils</connection> + <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/shared/trunk/maven-project-utils</developerConnection> + <url>http://svn.apache.org/viewvc/maven/shared/trunk/maven-project-utils</url> + </scm> + <issueManagement> + <system>jira</system> + <url>http://jira.codehaus.org/browse/MSHARED</url> + </issueManagement> + + <properties> + <mavenVersion>2.2.1</mavenVersion> + </properties> + + <dependencies> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-project</artifactId> + <version>${mavenVersion}</version> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-model</artifactId> + <version>${mavenVersion}</version> + </dependency> + <dependency> + <groupId>jmock</groupId> + <artifactId>jmock</artifactId> + <version>1.1.0</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>3.8.2</version> + <scope>test</scope> + </dependency> + </dependencies> + + <profiles> + <profile> + <id>run-its</id> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-invoker-plugin</artifactId> + <version>1.8</version> + <executions> + <execution> + <goals> + <goal>install</goal> + <goal>integration-test</goal> + <goal>verify</goal> + </goals> + </execution> + </executions> + <configuration> + <projectsDirectory>src/it</projectsDirectory> + <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo> + <postBuildHookScript>verify</postBuildHookScript> + <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath> + <settingsFile>src/it/settings.xml</settingsFile> + <pomIncludes> + <pomInclude>*</pomInclude> + </pomIncludes> + </configuration> + </plugin> + </plugins> + </build> + </profile> + </profiles> + +</project> Propchange: maven/shared/trunk/maven-project-utils/src/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Propchange: maven/shared/trunk/maven-project-utils/src/it/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/it/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Propchange: maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Propchange: maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/aggregator/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/aggregator/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Added: maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/aggregator/pom.xml URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/aggregator/pom.xml?rev=1460347&view=auto ============================================================================== --- maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/aggregator/pom.xml (added) +++ maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/aggregator/pom.xml Sun Mar 24 13:11:24 2013 @@ -0,0 +1,18 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>org.apache.maven.shared.project.utils.it.aggregator-flat</groupId> + <artifactId>aggregator</artifactId> + <version>0.0.1-SNAPSHOT</version> + <packaging>pom</packaging> + + <distributionManagement> + <site> + <url>http://localhost/aggregator</url> + </site> + </distributionManagement> + + <modules> + <module>../project</module> + </modules> +</project> \ No newline at end of file Added: maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/invoker.properties URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/invoker.properties?rev=1460347&view=auto ============================================================================== --- maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/invoker.properties (added) +++ maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/invoker.properties Sun Mar 24 13:11:24 2013 @@ -0,0 +1,3 @@ +invoker.goals = org.apache.maven.shared.project.utils.it:maven-projectutils-plugin:resolve-site +invoker.project = aggregator +invoker.debug = true \ No newline at end of file Propchange: maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/project/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/project/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Added: maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/project/pom.xml URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/project/pom.xml?rev=1460347&view=auto ============================================================================== --- maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/project/pom.xml (added) +++ maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/project/pom.xml Sun Mar 24 13:11:24 2013 @@ -0,0 +1,9 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>org.apache.maven.shared.project.utils.it.aggregator-flat</groupId> + <artifactId>project</artifactId> + <version>0.0.1-SNAPSHOT</version> + <packaging>pom</packaging> + +</project> \ No newline at end of file Added: maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/verify.groovy URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/verify.groovy?rev=1460347&view=auto ============================================================================== --- maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/verify.groovy (added) +++ maven/shared/trunk/maven-project-utils/src/it/aggregator-flat/verify.groovy Sun Mar 24 13:11:24 2013 @@ -0,0 +1,22 @@ +/* + * 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. + */ +File buildLog = new File( basedir, 'build.log' ) +assert buildLog.text.contains( '[INFO] Resolved distributionManagement site URL for org.apache.maven.shared.project.utils.it.aggregator-flat:aggregator:pom:0.0.1-SNAPSHOT: http://localhost/aggregator') +// aggregator is not the parent of this project, so should use its own site URL +assert buildLog.text.contains( '[INFO] Resolved distributionManagement site URL for org.apache.maven.shared.project.utils.it.aggregator-flat:project:pom:0.0.1-SNAPSHOT: null' ) Propchange: maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Added: maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/invoker.properties URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/invoker.properties?rev=1460347&view=auto ============================================================================== --- maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/invoker.properties (added) +++ maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/invoker.properties Sun Mar 24 13:11:24 2013 @@ -0,0 +1,2 @@ +invoker.goals = org.apache.maven.shared.project.utils.it:maven-projectutils-plugin:resolve-site +invoker.debug = true \ No newline at end of file Propchange: maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/module/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/module/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Added: maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/module/pom.xml URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/module/pom.xml?rev=1460347&view=auto ============================================================================== --- maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/module/pom.xml (added) +++ maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/module/pom.xml Sun Mar 24 13:11:24 2013 @@ -0,0 +1,12 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.maven.shared.project.utils.it.multimodule-hierarchical</groupId> + <artifactId>multimodule</artifactId> + <version>0.0.1-SNAPSHOT</version> + </parent> + <artifactId>module</artifactId> + <packaging>pom</packaging> + +</project> \ No newline at end of file Added: maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/pom.xml URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/pom.xml?rev=1460347&view=auto ============================================================================== --- maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/pom.xml (added) +++ maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/pom.xml Sun Mar 24 13:11:24 2013 @@ -0,0 +1,18 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>org.apache.maven.shared.project.utils.it.multimodule-hierarchical</groupId> + <artifactId>multimodule</artifactId> + <version>0.0.1-SNAPSHOT</version> + <packaging>pom</packaging> + + <distributionManagement> + <site> + <url>http://localhost/multimodule</url> + </site> + </distributionManagement> + + <modules> + <module>module</module> + </modules> +</project> \ No newline at end of file Added: maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/verify.groovy URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/verify.groovy?rev=1460347&view=auto ============================================================================== --- maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/verify.groovy (added) +++ maven/shared/trunk/maven-project-utils/src/it/multimodule-hierarchical/verify.groovy Sun Mar 24 13:11:24 2013 @@ -0,0 +1,21 @@ +/* + * 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. + */ +File buildLog = new File( basedir, 'build.log' ) +assert buildLog.text.contains( '[INFO] Resolved distributionManagement site URL for org.apache.maven.shared.project.utils.it.multimodule-hierarchical:multimodule:pom:0.0.1-SNAPSHOT: http://localhost/multimodule') +assert buildLog.text.contains( '[INFO] Resolved distributionManagement site URL for org.apache.maven.shared.project.utils.it.multimodule-hierarchical:module:pom:0.0.1-SNAPSHOT: http://localhost/multimodule/module' ) Added: maven/shared/trunk/maven-project-utils/src/it/settings.xml URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-project-utils/src/it/settings.xml?rev=1460347&view=auto ============================================================================== --- maven/shared/trunk/maven-project-utils/src/it/settings.xml (added) +++ maven/shared/trunk/maven-project-utils/src/it/settings.xml Sun Mar 24 13:11:24 2013 @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +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. +--> + +<settings> + + <servers> + <server> + <id>my.server</id> + <username>me</username> + <password>{iFtD2TFFjzoHEDN1RxW21zEBYW0Gt7GwbsOm6yDS63s=}</password> + </server> + </servers> + + <profiles> + <profile> + <id>it-repo</id> + <activation> + <activeByDefault>true</activeByDefault> + </activation> + <repositories> + <repository> + <id>local.central</id> + <url>@localRepositoryUrl@</url> + <releases> + <enabled>true</enabled> + </releases> + <snapshots> + <enabled>true</enabled> + </snapshots> + </repository> + <repository> + <id>apache.snapshots</id> + <name>Apache Snapshot Repository</name> + <url>http://people.apache.org/repo/m2-snapshot-repository</url> + <releases> + <enabled>false</enabled> + </releases> + <snapshots> + <enabled>true</enabled> + </snapshots> + </repository> + </repositories> + <pluginRepositories> + <pluginRepository> + <id>local.central</id> + <url>@localRepositoryUrl@</url> + <releases> + <enabled>true</enabled> + </releases> + <snapshots> + <enabled>true</enabled> + </snapshots> + </pluginRepository> + </pluginRepositories> + </profile> + </profiles> +</settings> Propchange: maven/shared/trunk/maven-project-utils/src/it/setup-plugin/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/it/setup-plugin/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Added: maven/shared/trunk/maven-project-utils/src/it/setup-plugin/invoker.properties URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-project-utils/src/it/setup-plugin/invoker.properties?rev=1460347&view=auto ============================================================================== --- maven/shared/trunk/maven-project-utils/src/it/setup-plugin/invoker.properties (added) +++ maven/shared/trunk/maven-project-utils/src/it/setup-plugin/invoker.properties Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +invoker.goals = install \ No newline at end of file Added: maven/shared/trunk/maven-project-utils/src/it/setup-plugin/pom.xml URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-project-utils/src/it/setup-plugin/pom.xml?rev=1460347&view=auto ============================================================================== --- maven/shared/trunk/maven-project-utils/src/it/setup-plugin/pom.xml (added) +++ maven/shared/trunk/maven-project-utils/src/it/setup-plugin/pom.xml Sun Mar 24 13:11:24 2013 @@ -0,0 +1,56 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>org.apache.maven.shared.project.utils.it</groupId> + <artifactId>maven-projectutils-plugin</artifactId> + <version>0.0.1-SNAPSHOT</version> + <packaging>maven-plugin</packaging> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-plugin-plugin</artifactId> + <version>3.2</version> + <configuration> + <!-- see http://jira.codehaus.org/browse/MNG-5346 --> + <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound> + </configuration> + <executions> + <execution> + <id>mojo-descriptor</id> + <goals> + <goal>descriptor</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.0</version> + </plugin> + </plugins> + </build> + + <dependencies> + <dependency> + <groupId>org.apache.maven.shared</groupId> + <artifactId>maven-project-utils</artifactId> + <version>1.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-plugin-api</artifactId> + <version>2.0.6</version> + </dependency> + + <dependency> + <groupId>org.apache.maven.plugin-tools</groupId> + <artifactId>maven-plugin-annotations</artifactId> + <version>3.2</version> + <scope>provided</scope> + </dependency> + + </dependencies> +</project> \ No newline at end of file Propchange: maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Propchange: maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Propchange: maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Propchange: maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Propchange: maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/apache/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/apache/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Propchange: maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/apache/maven/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/apache/maven/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Propchange: maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/apache/maven/shared/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/apache/maven/shared/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Propchange: maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/apache/maven/shared/project/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/apache/maven/shared/project/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Propchange: maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/apache/maven/shared/project/utils/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/apache/maven/shared/project/utils/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Propchange: maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/apache/maven/shared/project/utils/it/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/apache/maven/shared/project/utils/it/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Added: maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/apache/maven/shared/project/utils/it/ResolveSiteMojo.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/apache/maven/shared/project/utils/it/ResolveSiteMojo.java?rev=1460347&view=auto ============================================================================== --- maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/apache/maven/shared/project/utils/it/ResolveSiteMojo.java (added) +++ maven/shared/trunk/maven-project-utils/src/it/setup-plugin/src/main/java/org/apache/maven/shared/project/utils/it/ResolveSiteMojo.java Sun Mar 24 13:11:24 2013 @@ -0,0 +1,23 @@ +package org.apache.maven.shared.project.utils.it; + +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.Parameter; +import org.apache.maven.project.MavenProject; +import org.apache.maven.shared.project.utils.SiteUtils; + +@Mojo( name="resolve-site" ) +public class ResolveSiteMojo + extends AbstractMojo +{ + @Parameter( defaultValue = "${project}", required = true, readonly = true ) + private MavenProject project; + + public void execute() + throws MojoExecutionException, MojoFailureException + { + getLog().info( "Resolved distributionManagement site URL for " + project.getId() + ": " + SiteUtils.resolveDistributionManagementSiteUrl( project ) ); + } +} Propchange: maven/shared/trunk/maven-project-utils/src/it/standalone/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/it/standalone/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Added: maven/shared/trunk/maven-project-utils/src/it/standalone/invoker.properties URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-project-utils/src/it/standalone/invoker.properties?rev=1460347&view=auto ============================================================================== --- maven/shared/trunk/maven-project-utils/src/it/standalone/invoker.properties (added) +++ maven/shared/trunk/maven-project-utils/src/it/standalone/invoker.properties Sun Mar 24 13:11:24 2013 @@ -0,0 +1,2 @@ +invoker.goals = org.apache.maven.shared.project.utils.it:maven-projectutils-plugin:resolve-site +invoker.debug = true \ No newline at end of file Added: maven/shared/trunk/maven-project-utils/src/it/standalone/pom.xml URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-project-utils/src/it/standalone/pom.xml?rev=1460347&view=auto ============================================================================== --- maven/shared/trunk/maven-project-utils/src/it/standalone/pom.xml (added) +++ maven/shared/trunk/maven-project-utils/src/it/standalone/pom.xml Sun Mar 24 13:11:24 2013 @@ -0,0 +1,15 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>org.apache.maven.shared.project.utils.it.standalone</groupId> + <artifactId>standalone</artifactId> + <version>0.0.1-SNAPSHOT</version> + <packaging>pom</packaging> + + <distributionManagement> + <site> + <url>http://localhost/standalone</url> + </site> + </distributionManagement> + +</project> \ No newline at end of file Added: maven/shared/trunk/maven-project-utils/src/it/standalone/verify.groovy URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-project-utils/src/it/standalone/verify.groovy?rev=1460347&view=auto ============================================================================== --- maven/shared/trunk/maven-project-utils/src/it/standalone/verify.groovy (added) +++ maven/shared/trunk/maven-project-utils/src/it/standalone/verify.groovy Sun Mar 24 13:11:24 2013 @@ -0,0 +1,20 @@ +/* + * 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. + */ +File buildLog = new File( basedir, 'build.log' ) +assert buildLog.text.contains( '[INFO] Resolved distributionManagement site URL for org.apache.maven.shared.project.utils.it.standalone:standalone:pom:0.0.1-SNAPSHOT: http://localhost/standalone') Propchange: maven/shared/trunk/maven-project-utils/src/main/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/main/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Propchange: maven/shared/trunk/maven-project-utils/src/main/java/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/main/java/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Propchange: maven/shared/trunk/maven-project-utils/src/main/java/org/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/main/java/org/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Propchange: maven/shared/trunk/maven-project-utils/src/main/java/org/apache/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/main/java/org/apache/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Propchange: maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Propchange: maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Propchange: maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Propchange: maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Added: maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/ProjectUtils.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/ProjectUtils.java?rev=1460347&view=auto ============================================================================== --- maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/ProjectUtils.java (added) +++ maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/ProjectUtils.java Sun Mar 24 13:11:24 2013 @@ -0,0 +1,63 @@ +package org.apache.maven.shared.project.utils; + +import java.util.List; + +import org.apache.maven.project.MavenProject; + +/* + * 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. + */ + +public final class ProjectUtils +{ + + private ProjectUtils() + { + } + + /** + * Returns {@code true} if this project has no parent, or it has a parent but isn't one of its modules. + * + * @param project the project to verify + * @return {@code true} if this is a root project, otherwise {@code false} + */ + public static boolean isRootProject( MavenProject project ) + { + if( project.hasParent() ) + { + MavenProject parent = project.getParent(); + + // Are collectedProject the resolved modules? + @SuppressWarnings( "unchecked" ) + List<MavenProject> collectedProjects = (List<MavenProject>) parent.getCollectedProjects(); + + for( MavenProject collectedProject : collectedProjects ) + { + if( project.getId().equals( collectedProject.getId() ) ) + { + return true; + } + } + return false; + } + else + { + return true; + } + } +} Added: maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/ScmUtils.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/ScmUtils.java?rev=1460347&view=auto ============================================================================== --- maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/ScmUtils.java (added) +++ maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/ScmUtils.java Sun Mar 24 13:11:24 2013 @@ -0,0 +1,115 @@ +package org.apache.maven.shared.project.utils; + +import org.apache.maven.model.Model; +import org.apache.maven.project.MavenProject; + +/* + * 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. + */ + +public final class ScmUtils +{ + private ScmUtils() + { + } + + public static String resolveScmConnection( MavenProject project ) + { + String scmConnection = getScmConnection( project.getModel() ); + + if ( scmConnection == null ) + { + // prevent null-value + scmConnection = "" + getScmConnection( project ); + + if ( !ProjectUtils.isRootProject( project ) ) + { + // assuming that folder matches the moduleName + scmConnection += "/" + project.getFile().getParentFile().getName(); + } + } + return scmConnection; + } + + public static String resolveScmDeveloperConnection( MavenProject project ) + { + String siteUrl = getScmDeveloperConnection( project.getModel() ); + + if ( siteUrl == null ) + { + // prevent null-value + siteUrl = "" + getScmDeveloperConnection( project ); + + if ( !ProjectUtils.isRootProject( project ) ) + { + // assuming that folder matches the moduleName + siteUrl += "/" + project.getFile().getParentFile().getName(); + } + } + return siteUrl; + } + + protected static String getScmConnection( Model model ) + { + if ( model.getScm() != null ) + { + return model.getScm().getConnection(); + } + else + { + return null; + } + } + + protected static String getScmConnection( MavenProject project ) + { + if ( project.getScm() != null ) + { + return project.getScm().getConnection(); + } + else + { + return null; + } + } + + protected static String getScmDeveloperConnection( Model model ) + { + if ( model.getScm() != null ) + { + return model.getScm().getDeveloperConnection(); + } + else + { + return null; + } + } + + protected static String getScmDeveloperConnection( MavenProject project ) + { + if ( project.getScm() != null ) + { + return project.getScm().getDeveloperConnection(); + } + else + { + return null; + } + } + +} Added: maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/SiteUtils.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/SiteUtils.java?rev=1460347&view=auto ============================================================================== --- maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/SiteUtils.java (added) +++ maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/SiteUtils.java Sun Mar 24 13:11:24 2013 @@ -0,0 +1,78 @@ +package org.apache.maven.shared.project.utils; + +import org.apache.maven.model.Model; +import org.apache.maven.project.MavenProject; + +/* + * 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. + */ + +public final class SiteUtils +{ + + private SiteUtils() + { + } + + public static String resolveDistributionManagementSiteUrl( MavenProject project ) + { + String siteUrl = getDistributionManagementSiteUrl( project.getModel() ); + + if( siteUrl == null ) + { + // prevent null-value + siteUrl = "" + getDistributionManagementSiteUrl( project ); + if( !ProjectUtils.isRootProject( project ) ) + { + // assuming that folder matches the moduleName + siteUrl += "/" + project.getFile().getParentFile().getName(); + } + } + return siteUrl; + } + + /** + * + * @param model + * @return return the url if available, otherwise {@code null} + */ + protected static final String getDistributionManagementSiteUrl( Model model ) + { + if( model.getDistributionManagement() != null && model.getDistributionManagement().getSite() != null ) + { + return model.getDistributionManagement().getSite().getUrl(); + } + else + { + return null; + } + } + + protected static final String getDistributionManagementSiteUrl( MavenProject project ) + { + if( project.getDistributionManagement() != null && project.getDistributionManagement().getSite() != null ) + { + return project.getDistributionManagement().getSite().getUrl(); + } + else + { + return null; + } + } + +} Propchange: maven/shared/trunk/maven-project-utils/src/test/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 24 13:11:24 2013 @@ -0,0 +1 @@ +MSHARED-\d+ Propchange: maven/shared/trunk/maven-project-utils/src/test/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID%