You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ba...@apache.org on 2015/02/21 06:04:58 UTC

svn commit: r1661282 - in /continuum/trunk: continuum-api/ continuum-api/src/main/java/org/apache/continuum/utils/m2/ continuum-api/src/main/java/org/apache/maven/continuum/execution/ continuum-core/src/main/java/org/apache/maven/continuum/core/action/...

Author: batkinson
Date: Sat Feb 21 05:04:57 2015
New Revision: 1661282

URL: http://svn.apache.org/r1661282
Log:
Added shared components for maven settings and local repos.

Added:
    continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/m2/
    continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/m2/DefaultLocalRepositoryHelper.java
    continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/m2/DefaultSettingsHelper.java
    continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/m2/LocalRepositoryHelper.java
    continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/m2/SettingsHelper.java
    continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/execution/SettingsConfigurationException.java
      - copied, changed from r1661281, continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/SettingsConfigurationException.java
Removed:
    continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/SettingsConfigurationException.java
Modified:
    continuum/trunk/continuum-api/pom.xml
    continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CreateProjectsFromMetadataAction.java
    continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/DefaultMavenBuilderHelper.java
    continuum/trunk/continuum-core/src/test/java/org/apache/continuum/AbstractAddProjectTest.java
    continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.java
    continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/EditPomAction.java

Modified: continuum/trunk/continuum-api/pom.xml
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-api/pom.xml?rev=1661282&r1=1661281&r2=1661282&view=diff
==============================================================================
--- continuum/trunk/continuum-api/pom.xml (original)
+++ continuum/trunk/continuum-api/pom.xml Sat Feb 21 05:04:57 2015
@@ -45,6 +45,10 @@
       <artifactId>plexus-taskqueue</artifactId>
     </dependency>
     <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-component-annotations</artifactId>
+    </dependency>
+    <dependency>
       <groupId>commons-lang</groupId>
       <artifactId>commons-lang</artifactId>
     </dependency>
@@ -81,6 +85,18 @@
     <build>
         <plugins>
             <plugin>
+                <groupId>org.codehaus.plexus</groupId>
+                <artifactId>plexus-component-metadata</artifactId>
+                <executions>
+                    <execution>
+                        <id>generate</id>
+                        <goals>
+                            <goal>generate-metadata</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
                 <artifactId>maven-surefire-plugin</artifactId>
                 <configuration>
                     <systemProperties>

Added: continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/m2/DefaultLocalRepositoryHelper.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/m2/DefaultLocalRepositoryHelper.java?rev=1661282&view=auto
==============================================================================
--- continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/m2/DefaultLocalRepositoryHelper.java (added)
+++ continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/m2/DefaultLocalRepositoryHelper.java Sat Feb 21 05:04:57 2015
@@ -0,0 +1,93 @@
+package org.apache.continuum.utils.m2;
+
+/*
+ * 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 org.apache.continuum.model.repository.LocalRepository;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
+import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.continuum.execution.SettingsConfigurationException;
+import org.apache.maven.settings.Settings;
+import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.component.annotations.Configuration;
+import org.codehaus.plexus.component.annotations.Requirement;
+import org.codehaus.plexus.util.StringUtils;
+
+@Component( role = LocalRepositoryHelper.class, hint = "default" )
+public class DefaultLocalRepositoryHelper
+    implements LocalRepositoryHelper
+{
+    @Requirement
+    private ArtifactRepositoryFactory artifactRepositoryFactory;
+
+    @Requirement
+    private ArtifactRepositoryLayout repositoryLayout;
+
+    @Requirement
+    private SettingsHelper settingsHelper;
+
+    @Configuration( "${plexus.home}/local-repository" )
+    private String localRepository;
+
+    public ArtifactRepository getLocalRepository()
+        throws SettingsConfigurationException
+    {
+        return getRepository( null, settingsHelper.getSettings() );
+    }
+
+    public ArtifactRepository getLocalRepository( LocalRepository localRepo )
+        throws SettingsConfigurationException
+    {
+        return getRepository( localRepo, settingsHelper.getSettings() );
+    }
+
+    private ArtifactRepository getRepository( LocalRepository repository, Settings settings )
+    {
+        // ----------------------------------------------------------------------
+        // Set our configured location as the default but try to use the defaults
+        // as returned by the MavenSettings component.
+        // ----------------------------------------------------------------------
+
+        String localRepo = localRepository;
+
+        if ( repository != null )
+        {
+            return artifactRepositoryFactory.createArtifactRepository( repository.getName(),
+                                                                       "file://" + repository.getLocation(),
+                                                                       repositoryLayout, null, null );
+        }
+        else if ( !( StringUtils.isEmpty( settings.getLocalRepository() ) ) )
+        {
+            localRepo = settings.getLocalRepository();
+        }
+
+        return artifactRepositoryFactory.createArtifactRepository( "local", "file://" + localRepo, repositoryLayout,
+                                                                   null, null );
+    }
+
+    public LocalRepository convertAgentRepo( org.apache.continuum.buildagent.model.LocalRepository repo )
+    {
+        LocalRepository result = new LocalRepository();
+        result.setLayout( repo.getLayout() );
+        result.setName( repo.getName() );
+        result.setLocation( repo.getLocation() );
+        return result;
+    }
+}

Added: continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/m2/DefaultSettingsHelper.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/m2/DefaultSettingsHelper.java?rev=1661282&view=auto
==============================================================================
--- continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/m2/DefaultSettingsHelper.java (added)
+++ continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/m2/DefaultSettingsHelper.java Sat Feb 21 05:04:57 2015
@@ -0,0 +1,55 @@
+package org.apache.continuum.utils.m2;
+
+/*
+ * 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 org.apache.maven.continuum.execution.SettingsConfigurationException;
+import org.apache.maven.settings.MavenSettingsBuilder;
+import org.apache.maven.settings.Settings;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.io.IOException;
+
+@Service( "settingsHelper" )
+public class DefaultSettingsHelper
+    implements SettingsHelper
+{
+    @Resource
+    private MavenSettingsBuilder mavenSettingsBuilder;
+
+    public Settings getSettings()
+        throws SettingsConfigurationException
+    {
+        try
+        {
+            return mavenSettingsBuilder.buildSettings( false );
+        }
+        catch ( IOException e )
+        {
+            throw new SettingsConfigurationException( "error reading settings file", e );
+        }
+        catch ( XmlPullParserException e )
+        {
+            throw new SettingsConfigurationException( e.getMessage(), e.getCause(), e.getLineNumber(),
+                                                      e.getColumnNumber() );
+        }
+    }
+}

Added: continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/m2/LocalRepositoryHelper.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/m2/LocalRepositoryHelper.java?rev=1661282&view=auto
==============================================================================
--- continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/m2/LocalRepositoryHelper.java (added)
+++ continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/m2/LocalRepositoryHelper.java Sat Feb 21 05:04:57 2015
@@ -0,0 +1,37 @@
+package org.apache.continuum.utils.m2;
+
+/*
+ * 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 org.apache.continuum.model.repository.LocalRepository;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.continuum.execution.SettingsConfigurationException;
+
+public interface LocalRepositoryHelper
+{
+    String ROLE = LocalRepositoryHelper.class.getName();
+
+    ArtifactRepository getLocalRepository()
+        throws SettingsConfigurationException;
+
+    ArtifactRepository getLocalRepository( LocalRepository localRepo )
+        throws SettingsConfigurationException;
+
+    LocalRepository convertAgentRepo( org.apache.continuum.buildagent.model.LocalRepository repo );
+}

Added: continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/m2/SettingsHelper.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/m2/SettingsHelper.java?rev=1661282&view=auto
==============================================================================
--- continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/m2/SettingsHelper.java (added)
+++ continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/m2/SettingsHelper.java Sat Feb 21 05:04:57 2015
@@ -0,0 +1,31 @@
+package org.apache.continuum.utils.m2;
+
+/*
+ * 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 org.apache.maven.continuum.execution.SettingsConfigurationException;
+import org.apache.maven.settings.Settings;
+
+public interface SettingsHelper
+{
+    String ROLE = SettingsHelper.class.getName();
+
+    Settings getSettings()
+        throws SettingsConfigurationException;
+}

Copied: continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/execution/SettingsConfigurationException.java (from r1661281, continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/SettingsConfigurationException.java)
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/execution/SettingsConfigurationException.java?p2=continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/execution/SettingsConfigurationException.java&p1=continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/SettingsConfigurationException.java&r1=1661281&r2=1661282&rev=1661282&view=diff
==============================================================================
--- continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/SettingsConfigurationException.java (original)
+++ continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/execution/SettingsConfigurationException.java Sat Feb 21 05:04:57 2015
@@ -1,4 +1,4 @@
-package org.apache.maven.continuum.execution.maven.m2;
+package org.apache.maven.continuum.execution;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one

Modified: continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CreateProjectsFromMetadataAction.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CreateProjectsFromMetadataAction.java?rev=1661282&r1=1661281&r2=1661282&view=diff
==============================================================================
--- continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CreateProjectsFromMetadataAction.java (original)
+++ continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CreateProjectsFromMetadataAction.java Sat Feb 21 05:04:57 2015
@@ -20,7 +20,7 @@ package org.apache.maven.continuum.core.
  */
 
 import org.apache.maven.continuum.ContinuumException;
-import org.apache.maven.continuum.execution.maven.m2.SettingsConfigurationException;
+import org.apache.maven.continuum.execution.SettingsConfigurationException;
 import org.apache.maven.continuum.model.project.BuildDefinitionTemplate;
 import org.apache.maven.continuum.model.project.Project;
 import org.apache.maven.continuum.project.builder.ContinuumProjectBuilder;

Modified: continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/DefaultMavenBuilderHelper.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/DefaultMavenBuilderHelper.java?rev=1661282&r1=1661281&r2=1661282&view=diff
==============================================================================
--- continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/DefaultMavenBuilderHelper.java (original)
+++ continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/DefaultMavenBuilderHelper.java Sat Feb 21 05:04:57 2015
@@ -25,6 +25,7 @@ import org.apache.maven.artifact.reposit
 import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
 import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
+import org.apache.maven.continuum.execution.SettingsConfigurationException;
 import org.apache.maven.continuum.model.project.Project;
 import org.apache.maven.continuum.model.project.ProjectDependency;
 import org.apache.maven.continuum.model.project.ProjectDeveloper;

Modified: continuum/trunk/continuum-core/src/test/java/org/apache/continuum/AbstractAddProjectTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-core/src/test/java/org/apache/continuum/AbstractAddProjectTest.java?rev=1661282&r1=1661281&r2=1661282&view=diff
==============================================================================
--- continuum/trunk/continuum-core/src/test/java/org/apache/continuum/AbstractAddProjectTest.java (original)
+++ continuum/trunk/continuum-core/src/test/java/org/apache/continuum/AbstractAddProjectTest.java Sat Feb 21 05:04:57 2015
@@ -22,7 +22,7 @@ package org.apache.continuum;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.continuum.AbstractContinuumTest;
 import org.apache.maven.continuum.execution.maven.m2.MavenBuilderHelper;
-import org.apache.maven.continuum.execution.maven.m2.SettingsConfigurationException;
+import org.apache.maven.continuum.execution.SettingsConfigurationException;
 import org.codehaus.plexus.util.FileUtils;
 
 import java.io.File;

Modified: continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.java?rev=1661282&r1=1661281&r2=1661282&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.java (original)
+++ continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.java Sat Feb 21 05:04:57 2015
@@ -25,7 +25,7 @@ import org.apache.maven.artifact.reposit
 import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
 import org.apache.maven.continuum.execution.maven.m2.MavenBuilderHelper;
-import org.apache.maven.continuum.execution.maven.m2.SettingsConfigurationException;
+import org.apache.maven.continuum.execution.SettingsConfigurationException;
 import org.apache.maven.continuum.security.ContinuumRoleConstants;
 import org.apache.maven.continuum.web.action.component.AbstractFooterAction;
 import org.apache.maven.continuum.web.appareance.AppareanceConfiguration;

Modified: continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/EditPomAction.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/EditPomAction.java?rev=1661282&r1=1661281&r2=1661282&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/EditPomAction.java (original)
+++ continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/EditPomAction.java Sat Feb 21 05:04:57 2015
@@ -23,7 +23,7 @@ import com.opensymphony.xwork2.ModelDriv
 import org.apache.maven.artifact.installer.ArtifactInstallationException;
 import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
 import org.apache.maven.continuum.execution.maven.m2.MavenBuilderHelper;
-import org.apache.maven.continuum.execution.maven.m2.SettingsConfigurationException;
+import org.apache.maven.continuum.execution.SettingsConfigurationException;
 import org.apache.maven.continuum.security.ContinuumRoleConstants;
 import org.apache.maven.continuum.web.action.ContinuumActionSupport;
 import org.apache.maven.model.Model;