You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2011/05/17 18:57:54 UTC
svn commit: r1104405 [1/6] - in /maven/sandbox/trunk/mae: ./ boms/
boms/mae-app-bom/ boms/mae-library-bom/ mae-api/ mae-api/src/
mae-api/src/main/ mae-api/src/main/java/ mae-api/src/main/java/org/
mae-api/src/main/java/org/apache/ mae-api/src/main/java...
Author: jdcasey
Date: Tue May 17 16:57:50 2011
New Revision: 1104405
URL: http://svn.apache.org/viewvc?rev=1104405&view=rev
Log:
Adding Maven App Engine (MAE) preliminary code, adapted from EMB code at http://github.com/jdcasey/EMB
Added:
maven/sandbox/trunk/mae/
maven/sandbox/trunk/mae/.gitignore
maven/sandbox/trunk/mae/README.markdown
maven/sandbox/trunk/mae/boms/
maven/sandbox/trunk/mae/boms/mae-app-bom/
maven/sandbox/trunk/mae/boms/mae-app-bom/pom.xml (with props)
maven/sandbox/trunk/mae/boms/mae-library-bom/
maven/sandbox/trunk/mae/boms/mae-library-bom/pom.xml (with props)
maven/sandbox/trunk/mae/boms/pom.xml (with props)
maven/sandbox/trunk/mae/mae-api/
maven/sandbox/trunk/mae/mae-api/pom.xml (with props)
maven/sandbox/trunk/mae/mae-api/src/
maven/sandbox/trunk/mae/mae-api/src/main/
maven/sandbox/trunk/mae/mae-api/src/main/java/
maven/sandbox/trunk/mae/mae-api/src/main/java/org/
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/DefaultMAEExecutionRequest.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/MAEAdvisor.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/MAEException.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/MAEExecutionRequest.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/PluginGoal.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/AbstractMAELibrary.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/CoreLibrary.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/MAEConfiguration.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/MAELibraries.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/MAELibrary.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/MavenPomVersionProvider.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/StringVersionProvider.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/VersionProvider.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/ext/
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/ext/ExtensionConfiguration.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/ext/ExtensionConfigurationException.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/ext/ExtensionConfigurationLoader.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/loader/
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/loader/InstanceLibraryLoader.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/loader/MAELibraryLoader.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/loader/ServiceLibraryLoader.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/mgmt/
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/mgmt/LoadOnFinish.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/mgmt/LoadOnStart.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/mgmt/MAEManagementException.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/mgmt/MAEManagementView.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ComponentKey.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ComponentSelector.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/InstanceRegistry.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ServiceAuthorizer.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/VirtualInstance.java (with props)
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/io/
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/io/MAEPrompter.java (with props)
maven/sandbox/trunk/mae/mae-api/src/test/
maven/sandbox/trunk/mae/mae-api/src/test/java/
maven/sandbox/trunk/mae/mae-api/src/test/java/org/
maven/sandbox/trunk/mae/mae-api/src/test/java/org/apache/
maven/sandbox/trunk/mae/mae-api/src/test/java/org/apache/maven/
maven/sandbox/trunk/mae/mae-api/src/test/java/org/apache/maven/mae/
maven/sandbox/trunk/mae/mae-api/src/test/java/org/apache/maven/mae/ComponentSelectorTest.java (with props)
maven/sandbox/trunk/mae/mae-app/
maven/sandbox/trunk/mae/mae-app/pom.xml (with props)
maven/sandbox/trunk/mae/mae-app/src/
maven/sandbox/trunk/mae/mae-app/src/main/
maven/sandbox/trunk/mae/mae-app/src/main/java/
maven/sandbox/trunk/mae/mae-app/src/main/java/org/
maven/sandbox/trunk/mae/mae-app/src/main/java/org/commonjava/
maven/sandbox/trunk/mae/mae-app/src/main/java/org/commonjava/emb/
maven/sandbox/trunk/mae/mae-app/src/main/java/org/commonjava/emb/app/
maven/sandbox/trunk/mae/mae-app/src/main/java/org/commonjava/emb/app/AbstractEMBApplication.java (with props)
maven/sandbox/trunk/mae/mae-app/src/main/java/org/commonjava/emb/app/EMBApplication.java (with props)
maven/sandbox/trunk/mae/mae-app/src/test/
maven/sandbox/trunk/mae/mae-app/src/test/java/
maven/sandbox/trunk/mae/mae-app/src/test/java/org/
maven/sandbox/trunk/mae/mae-app/src/test/java/org/commonjava/
maven/sandbox/trunk/mae/mae-app/src/test/java/org/commonjava/emb/
maven/sandbox/trunk/mae/mae-app/src/test/java/org/commonjava/emb/app/
maven/sandbox/trunk/mae/mae-booter/
maven/sandbox/trunk/mae/mae-booter/pom.xml (with props)
maven/sandbox/trunk/mae/mae-booter/src/
maven/sandbox/trunk/mae/mae-booter/src/main/
maven/sandbox/trunk/mae/mae-booter/src/main/java/
maven/sandbox/trunk/mae/mae-booter/src/main/java/org/
maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/
maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/
maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/
maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/
maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/Maven3BooterLibrary.java (with props)
maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/embed/
maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/embed/EMBEmbedder.java (with props)
maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/embed/EMBEmbedderBuilder.java (with props)
maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/embed/EMBEmbeddingException.java (with props)
maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/log/
maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/log/BatchTransferListener.java (with props)
maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/log/EventLogger.java (with props)
maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/log/InteractiveTransferListener.java (with props)
maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/main/
maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/main/CliRequest.java (with props)
maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/main/EMBCLIManager.java (with props)
maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/main/EMBMain.java (with props)
maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/services/
maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/services/DefaultEMBServiceManager.java (with props)
maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/services/EMBServiceManager.java (with props)
maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/services/UnauthorizedServiceException.java (with props)
maven/sandbox/trunk/mae/mae-booter/src/main/mdo/
maven/sandbox/trunk/mae/mae-booter/src/main/mdo/xaven.mdo (with props)
maven/sandbox/trunk/mae/mae-container/
maven/sandbox/trunk/mae/mae-container/pom.xml (with props)
maven/sandbox/trunk/mae/mae-container/src/
maven/sandbox/trunk/mae/mae-container/src/main/
maven/sandbox/trunk/mae/mae-container/src/main/java/
maven/sandbox/trunk/mae/mae-container/src/main/java/org/
maven/sandbox/trunk/mae/mae-container/src/main/java/org/apache/
maven/sandbox/trunk/mae/mae-container/src/main/java/org/apache/maven/
maven/sandbox/trunk/mae/mae-container/src/main/java/org/apache/maven/mae/
maven/sandbox/trunk/mae/mae-container/src/main/java/org/apache/maven/mae/internal/
maven/sandbox/trunk/mae/mae-container/src/main/java/org/apache/maven/mae/internal/container/
maven/sandbox/trunk/mae/mae-container/src/main/java/org/apache/maven/mae/internal/container/ExtrudablePlexusContainer.java (with props)
maven/sandbox/trunk/mae/mae-container/src/main/java/org/apache/maven/mae/internal/container/MAEContainer.java (with props)
maven/sandbox/trunk/mae/mae-container/src/main/java/org/apache/maven/mae/internal/container/guice/
maven/sandbox/trunk/mae/mae-container/src/main/java/org/apache/maven/mae/internal/container/guice/InstanceBindingModule.java (with props)
maven/sandbox/trunk/mae/mae-container/src/main/java/org/apache/maven/mae/internal/container/guice/SelectingTypeBinder.java (with props)
maven/sandbox/trunk/mae/mae-container/src/main/java/org/apache/maven/mae/internal/container/guice/XAnnotatedBeanSource.java (with props)
maven/sandbox/trunk/mae/mae-container/src/main/java/org/apache/maven/mae/internal/container/guice/XComponentDescriptorBeanModule.java (with props)
maven/sandbox/trunk/mae/mae-container/src/main/java/org/apache/maven/mae/internal/container/guice/XPlexusAnnotatedBeanModule.java (with props)
maven/sandbox/trunk/mae/mae-container/src/main/java/org/apache/maven/mae/internal/container/guice/XPlexusXmlBeanModule.java (with props)
maven/sandbox/trunk/mae/mae-container/src/main/java/org/apache/maven/mae/internal/container/lifecycle/
maven/sandbox/trunk/mae/mae-container/src/main/java/org/apache/maven/mae/internal/container/lifecycle/XPlexusLifecycleManager.java (with props)
maven/sandbox/trunk/mae/mae-container/src/main/java/org/sonatype/
maven/sandbox/trunk/mae/mae-container/src/main/java/org/sonatype/guice/
maven/sandbox/trunk/mae/mae-container/src/main/java/org/sonatype/guice/bean/
maven/sandbox/trunk/mae/mae-container/src/main/java/org/sonatype/guice/bean/locators/
maven/sandbox/trunk/mae/mae-container/src/main/java/org/sonatype/guice/bean/locators/MAEBeanLocator.java (with props)
maven/sandbox/trunk/mae/mae-container/src/main/java/org/sonatype/guice/bean/locators/XLocatedBeans.java (with props)
maven/sandbox/trunk/mae/mae-container/src/main/java/org/sonatype/guice/bean/locators/XRankedBindings.java (with props)
maven/sandbox/trunk/mae/mae-container/src/main/java/org/sonatype/guice/bean/locators/XWatchedBeans.java (with props)
maven/sandbox/trunk/mae/mae-container/src/main/java/org/sonatype/guice/plexus/
maven/sandbox/trunk/mae/mae-container/src/main/java/org/sonatype/guice/plexus/locators/
maven/sandbox/trunk/mae/mae-container/src/main/java/org/sonatype/guice/plexus/locators/MAEPlexusBeanLocator.java (with props)
maven/sandbox/trunk/mae/mae-container/src/test/
maven/sandbox/trunk/mae/mae-container/src/test/java/
maven/sandbox/trunk/mae/mae-container/src/test/java/org/
maven/sandbox/trunk/mae/mae-container/src/test/java/org/apache/
maven/sandbox/trunk/mae/mae-container/src/test/java/org/apache/maven/
maven/sandbox/trunk/mae/mae-container/src/test/java/org/apache/maven/mae/
maven/sandbox/trunk/mae/mae-container/src/test/java/org/apache/maven/mae/internal/
maven/sandbox/trunk/mae/mae-container/src/test/java/org/apache/maven/mae/internal/container/
maven/sandbox/trunk/mae/mae-container/src/test/java/org/apache/maven/mae/internal/container/MAEPlexusContainerTest.java (with props)
maven/sandbox/trunk/mae/mae-container/src/test/java/org/apache/maven/mae/internal/container/fixture/
maven/sandbox/trunk/mae/mae-container/src/test/java/org/apache/maven/mae/internal/container/fixture/Child.java (with props)
maven/sandbox/trunk/mae/mae-container/src/test/java/org/apache/maven/mae/internal/container/fixture/DefaultChild.java (with props)
maven/sandbox/trunk/mae/mae-container/src/test/java/org/apache/maven/mae/internal/container/fixture/DefaultSingletonOwner.java (with props)
maven/sandbox/trunk/mae/mae-container/src/test/java/org/apache/maven/mae/internal/container/fixture/InitializedUsingRequirement.java (with props)
maven/sandbox/trunk/mae/mae-container/src/test/java/org/apache/maven/mae/internal/container/fixture/MapOwner.java (with props)
maven/sandbox/trunk/mae/mae-container/src/test/java/org/apache/maven/mae/internal/container/fixture/SingletonLiteralOwner.java (with props)
maven/sandbox/trunk/mae/mae-container/src/test/java/org/apache/maven/mae/internal/container/fixture/SingletonOwner.java (with props)
maven/sandbox/trunk/mae/pom.xml (with props)
Added: maven/sandbox/trunk/mae/.gitignore
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/.gitignore?rev=1104405&view=auto
==============================================================================
--- maven/sandbox/trunk/mae/.gitignore (added)
+++ maven/sandbox/trunk/mae/.gitignore Tue May 17 16:57:50 2011
@@ -0,0 +1 @@
+import-workspace
\ No newline at end of file
Added: maven/sandbox/trunk/mae/README.markdown
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/README.markdown?rev=1104405&view=auto
==============================================================================
--- maven/sandbox/trunk/mae/README.markdown (added)
+++ maven/sandbox/trunk/mae/README.markdown Tue May 17 16:57:50 2011
@@ -0,0 +1,64 @@
+# EMB - Extensible, Modular Builds #
+
+EMB is a build tool that wraps and extends [Apache Maven](http://maven.apache.org/). Its goal is to provide a mechanism for changing the core functionality of Maven using sets of add-on libraries.
+
+## Getting Started ##
+
+The simplest way to use EMB is via the emb-booter. To do this, first add a dependency in your POM to emb-booter:
+
+ <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/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.commonjava.emb.example</groupId>
+ <artifactId>example</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <properties>
+ <mavenVersion>3.0-beta-2</mavenVersion>
+ <embVersion>0.3-SNAPSHOT</embVersion>
+ </properties>
+ <dependencies>
+ <dependency>
+ <groupId>org.commonjava.emb</groupId>
+ <artifactId>emb-booter</artifactId>
+ <version>${embVersion}</version>
+ </dependency>
+ </dependencies>
+ </project>
+
+Then, create a new EMBEmbedder instance, and use it to build a project:
+
+ List<String> goals = new ArrayList<String>();
+ goals.add( "clean" );
+ goals.add( "install" );
+
+ new EMBEmbedderBuilder().build().execute( new EMBExecutionRequest().setGoals( goals ) );
+
+## Using Services ##
+
+You can use allowed Maven components via the ServiceManager. For instance, to resolve an artifact:
+
+ EMBEmbeder emb = new EMBEmbedderBuilder().build();
+ emb.serviceManager().repositorySystem().resolve( artifact );
+
+Or, to build a set of MavenProject instances from POM files:
+
+ EMBEmbeder emb = new EMBEmbedderBuilder().build();
+
+ ProjectBuildingRequest req = new DefaultProjectBuildingRequest()
+ .setSystemProperties( System.getProperties() )
+ .setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL )
+ .setForceUpdate( true )
+ .setProcessPlugins( false )
+ .setRepositoryCache( new InternalRepositoryCache() )
+ .setLocalRepository( emb.serviceManager()
+ .repositorySystem()
+ .createLocalRepository( new File( workDir, "local-repository" ) ) );
+
+ List<ProjectBuildingResult> results = emb.serviceManager().projectBuilder().build( pomFiles, useReactor, req );
+
+ List<MavenProject> projects = new ArrayList<MavenProject>( pomFiles.size() );
+ for ( final ProjectBuildingResult result : results )
+ {
+ projects.add( result.getProject() );
+ }
+
Added: maven/sandbox/trunk/mae/boms/mae-app-bom/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/boms/mae-app-bom/pom.xml?rev=1104405&view=auto
==============================================================================
--- maven/sandbox/trunk/mae/boms/mae-app-bom/pom.xml (added)
+++ maven/sandbox/trunk/mae/boms/mae-app-bom/pom.xml Tue May 17 16:57:50 2011
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2010 Red Hat, Inc.
+
+ Licensed 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/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>mae-boms</artifactId>
+ <groupId>org.apache.maven.mae</groupId>
+ <version>0.6-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>mae-app-bom</artifactId>
+ <name>Maven App Engine: Bill-Of-Materials for Applications</name>
+
+ <packaging>pom</packaging>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.mae</groupId>
+ <artifactId>mae-app</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mae</groupId>
+ <artifactId>mae-booter</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.mae.event</groupId>
+ <artifactId>mae-event-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mae</groupId>
+ <artifactId>mae-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mae.event</groupId>
+ <artifactId>mae-resolver-events</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>${mavenVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-compat</artifactId>
+ <version>${mavenVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-core</artifactId>
+ <version>${mavenVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-maeedder</artifactId>
+ <version>${mavenVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <version>${mavenVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model-builder</artifactId>
+ <version>${mavenVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>${mavenVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-repository</artifactId>
+ <version>${mavenVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-settings</artifactId>
+ <version>${mavenVersion}</version>
+ </dependency>
+
+ <!-- NOTE: These MUST be provided by mae infrastructure! -->
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>1.2.12</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <!-- /END infra requirements -->
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mae.components</groupId>
+ <artifactId>mae-project-tools</artifactId>
+ <version>${project.version}</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mae.components</groupId>
+ <artifactId>mae-autoboxing-version-range</artifactId>
+ <version>${project.version}</version>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+</project>
Propchange: maven/sandbox/trunk/mae/boms/mae-app-bom/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/sandbox/trunk/mae/boms/mae-library-bom/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/boms/mae-library-bom/pom.xml?rev=1104405&view=auto
==============================================================================
--- maven/sandbox/trunk/mae/boms/mae-library-bom/pom.xml (added)
+++ maven/sandbox/trunk/mae/boms/mae-library-bom/pom.xml Tue May 17 16:57:50 2011
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2010 Red Hat, Inc.
+
+ Licensed 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/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>mae-boms</artifactId>
+ <groupId>org.apache.maven.mae</groupId>
+ <version>0.6-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>mae-library-bom</artifactId>
+ <name>Maven App Engine: Bill-Of-Materials for Libraries</name>
+
+ <packaging>pom</packaging>
+
+ <dependencyManagement>
+ <dependencies>
+ <!-- <dependency>
+ <groupId>org.apache.maven.mae.event</groupId>
+ <artifactId>mae-event-api</artifactId>
+ <version>${project.version}</version>
+ <scope>provided</scope>
+ </dependency> -->
+ <dependency>
+ <groupId>org.apache.maven.mae</groupId>
+ <artifactId>mae-api</artifactId>
+ <version>${project.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- <dependency>
+ <groupId>org.apache.maven.mae.event</groupId>
+ <artifactId>mae-resolver-events</artifactId>
+ <version>${project.version}</version>
+ <scope>provided</scope>
+ </dependency> -->
+
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven</artifactId>
+ <version>${mavenVersion}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>${mavenVersion}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-compat</artifactId>
+ <version>${mavenVersion}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-core</artifactId>
+ <version>${mavenVersion}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-maeedder</artifactId>
+ <version>${mavenVersion}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <version>${mavenVersion}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model-builder</artifactId>
+ <version>${mavenVersion}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>${mavenVersion}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-repository</artifactId>
+ <version>${mavenVersion}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-settings</artifactId>
+ <version>${mavenVersion}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- NOTE: These MUST be provided by mae infrastructure! -->
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>1.2.12</version>
+ <scope>provided</scope>
+ </dependency>
+ <!-- /END infra requirements -->
+
+ <dependency>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ <version>1.4</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>2.0</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+</project>
Propchange: maven/sandbox/trunk/mae/boms/mae-library-bom/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/sandbox/trunk/mae/boms/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/boms/pom.xml?rev=1104405&view=auto
==============================================================================
--- maven/sandbox/trunk/mae/boms/pom.xml (added)
+++ maven/sandbox/trunk/mae/boms/pom.xml Tue May 17 16:57:50 2011
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2010 Red Hat, Inc.
+
+ Licensed 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/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>mae</artifactId>
+ <groupId>org.apache.maven.mae</groupId>
+ <version>0.6-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>mae-boms</artifactId>
+ <packaging>pom</packaging>
+
+ <name>Maven App Engine: Bill-of-Materials POMs</name>
+
+ <modules>
+ <module>mae-app-bom</module>
+ <module>mae-library-bom</module>
+ </modules>
+
+</project>
Propchange: maven/sandbox/trunk/mae/boms/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/sandbox/trunk/mae/mae-api/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-api/pom.xml?rev=1104405&view=auto
==============================================================================
--- maven/sandbox/trunk/mae/mae-api/pom.xml (added)
+++ maven/sandbox/trunk/mae/mae-api/pom.xml Tue May 17 16:57:50 2011
@@ -0,0 +1,96 @@
+<?xml version='1.0'?>
+<!--
+ Copyright 2010 Red Hat, Inc.
+
+ Licensed 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>
+ <artifactId>mae</artifactId>
+ <groupId>org.apache.maven.mae</groupId>
+ <version>0.6-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>mae-api</artifactId>
+ <name>Maven App Engine: API</name>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven</artifactId>
+ <version>${mavenVersion}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mae</groupId>
+ <artifactId>mae-library-bom</artifactId>
+ <version>${project.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-metadata</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-interactivity-api</artifactId>
+ <version>1.0-alpha-6</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>jline</groupId>
+ <artifactId>jline</artifactId>
+ <version>0.9.94</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-annotations</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.inject</groupId>
+ <artifactId>javax.inject</artifactId>
+ <version>1</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+
+</project>
Propchange: maven/sandbox/trunk/mae/mae-api/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/DefaultMAEExecutionRequest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/DefaultMAEExecutionRequest.java?rev=1104405&view=auto
==============================================================================
--- maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/DefaultMAEExecutionRequest.java (added)
+++ maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/DefaultMAEExecutionRequest.java Tue May 17 16:57:50 2011
@@ -0,0 +1,647 @@
+/*
+ * Copyright 2010 Red Hat, Inc.
+ *
+ * Licensed 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.
+ */
+
+package org.apache.maven.mae;
+
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.execution.DefaultMavenExecutionRequest;
+import org.apache.maven.execution.ExecutionListener;
+import org.apache.maven.execution.MavenExecutionRequest;
+import org.apache.maven.model.Profile;
+import org.apache.maven.project.ProjectBuildingRequest;
+import org.apache.maven.settings.Mirror;
+import org.apache.maven.settings.Proxy;
+import org.apache.maven.settings.Server;
+import org.apache.maven.settings.Settings;
+
+import java.io.File;
+import java.util.Date;
+import java.util.List;
+import java.util.Properties;
+
+public class DefaultMAEExecutionRequest
+ implements MAEExecutionRequest
+{
+
+ private Settings settings;
+
+ private String password;
+
+ private final DefaultMavenExecutionRequest embedded = new DefaultMavenExecutionRequest();
+
+ public DefaultMAEExecutionRequest copyOf()
+ {
+ return new DefaultMAEExecutionRequest().setPasswordToEncrypt( getPasswordToEncyrpt() )
+ .setSettings( getSettings() )
+ .setBaseDirectory( new File( getBaseDirectory() ) )
+ .setStartTime( getStartTime() )
+ .setGoals( getGoals() )
+ .setSystemProperties( getSystemProperties() )
+ .setUserProperties( getUserProperties() )
+ .setReactorFailureBehavior( getReactorFailureBehavior() )
+ .setSelectedProjects( getSelectedProjects() )
+ .setResumeFrom( getResumeFrom() )
+ .setMakeBehavior( getMakeBehavior() )
+ .setThreadCount( getThreadCount() )
+ .setPerCoreThreadCount( isPerCoreThreadCount() )
+ .setRecursive( isRecursive() )
+ .setPom( getPom() )
+ .setShowErrors( isShowErrors() )
+ .setLoggingLevel( getLoggingLevel() )
+ .setUpdateSnapshots( isUpdateSnapshots() )
+ .setNoSnapshotUpdates( isNoSnapshotUpdates() )
+ .setGlobalChecksumPolicy( getGlobalChecksumPolicy() )
+ .setLocalRepositoryPath( getLocalRepositoryPath() )
+ .setLocalRepositoryPath( getLocalRepositoryPath() )
+ .setLocalRepository( getLocalRepository() )
+ .setInteractiveMode( isInteractiveMode() )
+ .setOffline( isOffline() )
+ .setProfiles( getProfiles() )
+ .setActiveProfiles( getActiveProfiles() )
+ .setInactiveProfiles( getInactiveProfiles() )
+ .setProxies( getProxies() )
+ .setServers( getServers() )
+ .setMirrors( getMirrors() )
+ .setPluginGroups( getPluginGroups() )
+ .setProjectPresent( isProjectPresent() )
+ .setUserSettingsFile( getUserSettingsFile() )
+ .setGlobalSettingsFile( getGlobalSettingsFile() )
+ .setRemoteRepositories( getRemoteRepositories() )
+ .setPluginArtifactRepositories( getPluginArtifactRepositories() )
+ .setUserToolchainsFile( getUserToolchainsFile() )
+ .setExecutionListener( getExecutionListener() );
+ }
+
+ public MavenExecutionRequest asMavenExecutionRequest()
+ {
+ return embedded;
+ }
+
+ public DefaultMAEExecutionRequest setPasswordToEncrypt( final String password )
+ {
+ this.password = password;
+ return this;
+ }
+
+ public String getPasswordToEncyrpt()
+ {
+ return password;
+ }
+
+ public DefaultMAEExecutionRequest setSettings( final Settings settings )
+ {
+ this.settings = settings;
+ return this;
+ }
+
+ public Settings getSettings()
+ {
+ return settings;
+ }
+
+ public DefaultMAEExecutionRequest addActiveProfile( final String profile )
+ {
+ embedded.addActiveProfile( profile );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest addActiveProfiles( final List<String> profiles )
+ {
+ embedded.addActiveProfiles( profiles );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest addInactiveProfile( final String profile )
+ {
+ embedded.addInactiveProfile( profile );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest addInactiveProfiles( final List<String> profiles )
+ {
+ embedded.addInactiveProfiles( profiles );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest addMirror( final Mirror mirror )
+ {
+ embedded.addMirror( mirror );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest addPluginArtifactRepository( final ArtifactRepository repository )
+ {
+ embedded.addPluginArtifactRepository( repository );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest addPluginGroup( final String pluginGroup )
+ {
+ embedded.addPluginGroup( pluginGroup );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest addPluginGroups( final List<String> pluginGroups )
+ {
+ embedded.addPluginGroups( pluginGroups );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest addProfile( final Profile profile )
+ {
+ embedded.addProfile( profile );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest addProxy( final Proxy proxy )
+ {
+ embedded.addProxy( proxy );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest addRemoteRepository( final ArtifactRepository repository )
+ {
+ embedded.addRemoteRepository( repository );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest addServer( final Server server )
+ {
+ embedded.addServer( server );
+ return this;
+ }
+
+ public List<String> getActiveProfiles()
+ {
+ return embedded.getActiveProfiles();
+ }
+
+ public String getBaseDirectory()
+ {
+ return embedded.getBaseDirectory();
+ }
+
+ public ExecutionListener getExecutionListener()
+ {
+ return embedded.getExecutionListener();
+ }
+
+ public String getGlobalChecksumPolicy()
+ {
+ return embedded.getGlobalChecksumPolicy();
+ }
+
+ public File getGlobalSettingsFile()
+ {
+ return embedded.getGlobalSettingsFile();
+ }
+
+ public List<String> getGoals()
+ {
+ return embedded.getGoals();
+ }
+
+ public List<String> getInactiveProfiles()
+ {
+ return embedded.getInactiveProfiles();
+ }
+
+ public ArtifactRepository getLocalRepository()
+ {
+ return embedded.getLocalRepository();
+ }
+
+ public File getLocalRepositoryPath()
+ {
+ return embedded.getLocalRepositoryPath();
+ }
+
+ public int getLoggingLevel()
+ {
+ return embedded.getLoggingLevel();
+ }
+
+ public String getMakeBehavior()
+ {
+ return embedded.getMakeBehavior();
+ }
+
+ public List<Mirror> getMirrors()
+ {
+ return embedded.getMirrors();
+ }
+
+ public List<ArtifactRepository> getPluginArtifactRepositories()
+ {
+ return embedded.getPluginArtifactRepositories();
+ }
+
+ public List<String> getPluginGroups()
+ {
+ return embedded.getPluginGroups();
+ }
+
+ public File getPom()
+ {
+ return embedded.getPom();
+ }
+
+ public List<Profile> getProfiles()
+ {
+ return embedded.getProfiles();
+ }
+
+ public ProjectBuildingRequest getProjectBuildingRequest()
+ {
+ return embedded.getProjectBuildingRequest();
+ }
+
+ public List<Proxy> getProxies()
+ {
+ return embedded.getProxies();
+ }
+
+ public String getReactorFailureBehavior()
+ {
+ return embedded.getReactorFailureBehavior();
+ }
+
+ public List<ArtifactRepository> getRemoteRepositories()
+ {
+ return embedded.getRemoteRepositories();
+ }
+
+ public String getResumeFrom()
+ {
+ return embedded.getResumeFrom();
+ }
+
+ public List<String> getSelectedProjects()
+ {
+ return embedded.getSelectedProjects();
+ }
+
+ public List<Server> getServers()
+ {
+ return embedded.getServers();
+ }
+
+ public Date getStartTime()
+ {
+ return embedded.getStartTime();
+ }
+
+ public Properties getSystemProperties()
+ {
+ return embedded.getSystemProperties();
+ }
+
+ public String getThreadCount()
+ {
+ return embedded.getThreadCount();
+ }
+
+ public Properties getUserProperties()
+ {
+ return embedded.getUserProperties();
+ }
+
+ public File getUserSettingsFile()
+ {
+ return embedded.getUserSettingsFile();
+ }
+
+ public File getUserToolchainsFile()
+ {
+ return embedded.getUserToolchainsFile();
+ }
+
+ public boolean isInteractiveMode()
+ {
+ return embedded.isInteractiveMode();
+ }
+
+ public boolean isNoSnapshotUpdates()
+ {
+ return embedded.isNoSnapshotUpdates();
+ }
+
+ public boolean isOffline()
+ {
+ return embedded.isOffline();
+ }
+
+ public boolean isPerCoreThreadCount()
+ {
+ return embedded.isPerCoreThreadCount();
+ }
+
+ public boolean isProjectPresent()
+ {
+ return embedded.isProjectPresent();
+ }
+
+ public boolean isRecursive()
+ {
+ return embedded.isRecursive();
+ }
+
+ public boolean isShowErrors()
+ {
+ return embedded.isShowErrors();
+ }
+
+ public boolean isThreadConfigurationPresent()
+ {
+ return embedded.isThreadConfigurationPresent();
+ }
+
+ public boolean isUpdateSnapshots()
+ {
+ return embedded.isUpdateSnapshots();
+ }
+
+ public DefaultMAEExecutionRequest setActiveProfiles( final List<String> activeProfiles )
+ {
+ embedded.setActiveProfiles( activeProfiles );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setBaseDirectory( final File basedir )
+ {
+ embedded.setBaseDirectory( basedir );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setExecutionListener( final ExecutionListener executionListener )
+ {
+ embedded.setExecutionListener( executionListener );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setGlobalChecksumPolicy( final String globalChecksumPolicy )
+ {
+ embedded.setGlobalChecksumPolicy( globalChecksumPolicy );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setGlobalSettingsFile( final File globalSettingsFile )
+ {
+ embedded.setGlobalSettingsFile( globalSettingsFile );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setGoals( final List<String> goals )
+ {
+ embedded.setGoals( goals );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setInactiveProfiles( final List<String> inactiveProfiles )
+ {
+ embedded.setInactiveProfiles( inactiveProfiles );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setInteractiveMode( final boolean interactive )
+ {
+ embedded.setInteractiveMode( interactive );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setLocalRepository( final ArtifactRepository localRepository )
+ {
+ embedded.setLocalRepository( localRepository );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setLocalRepositoryPath( final File localRepository )
+ {
+ embedded.setLocalRepositoryPath( localRepository );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setLocalRepositoryPath( final String localRepository )
+ {
+ embedded.setLocalRepositoryPath( localRepository );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setLoggingLevel( final int loggingLevel )
+ {
+ embedded.setLoggingLevel( loggingLevel );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setMakeBehavior( final String makeBehavior )
+ {
+ embedded.setMakeBehavior( makeBehavior );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setMirrors( final List<Mirror> mirrors )
+ {
+ embedded.setMirrors( mirrors );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setNoSnapshotUpdates( final boolean noSnapshotUpdates )
+ {
+ embedded.setNoSnapshotUpdates( noSnapshotUpdates );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setOffline( final boolean offline )
+ {
+ embedded.setOffline( offline );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setPerCoreThreadCount( final boolean perCoreThreadCount )
+ {
+ embedded.setPerCoreThreadCount( perCoreThreadCount );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setPluginArtifactRepositories( final List<ArtifactRepository> pluginArtifactRepositories )
+ {
+ embedded.setPluginArtifactRepositories( pluginArtifactRepositories );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setPluginGroups( final List<String> pluginGroups )
+ {
+ embedded.setPluginGroups( pluginGroups );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setPom( final File pom )
+ {
+ embedded.setPom( pom );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setProfiles( final List<Profile> profiles )
+ {
+ embedded.setProfiles( profiles );
+ return this;
+ }
+
+ public void setProjectBuildingConfiguration( final ProjectBuildingRequest projectBuildingConfiguration )
+ {
+ embedded.setProjectBuildingConfiguration( projectBuildingConfiguration );
+ }
+
+ public DefaultMAEExecutionRequest setProjectPresent( final boolean projectPresent )
+ {
+ embedded.setProjectPresent( projectPresent );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setProxies( final List<Proxy> proxies )
+ {
+ embedded.setProxies( proxies );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setReactorFailureBehavior( final String failureBehavior )
+ {
+ embedded.setReactorFailureBehavior( failureBehavior );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setRecursive( final boolean recursive )
+ {
+ embedded.setRecursive( recursive );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setRemoteRepositories( final List<ArtifactRepository> remoteRepositories )
+ {
+ embedded.setRemoteRepositories( remoteRepositories );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setResumeFrom( final String project )
+ {
+ embedded.setResumeFrom( project );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setSelectedProjects( final List<String> selectedProjects )
+ {
+ embedded.setSelectedProjects( selectedProjects );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setServers( final List<Server> servers )
+ {
+ embedded.setServers( servers );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setShowErrors( final boolean showErrors )
+ {
+ embedded.setShowErrors( showErrors );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setStartTime( final Date startTime )
+ {
+ embedded.setStartTime( startTime );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setSystemProperties( final Properties properties )
+ {
+ embedded.setSystemProperties( properties );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setThreadCount( final String threadCount )
+ {
+ embedded.setThreadCount( threadCount );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setUpdateSnapshots( final boolean updateSnapshots )
+ {
+ embedded.setUpdateSnapshots( updateSnapshots );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setUseReactor( final boolean reactorActive )
+ {
+ embedded.setUseReactor( reactorActive );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setUserProperties( final Properties userProperties )
+ {
+ embedded.setUserProperties( userProperties );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setUserSettingsFile( final File userSettingsFile )
+ {
+ embedded.setUserSettingsFile( userSettingsFile );
+ return this;
+ }
+
+ public DefaultMAEExecutionRequest setUserToolchainsFile( final File userToolchainsFile )
+ {
+ embedded.setUserToolchainsFile( userToolchainsFile );
+ return this;
+ }
+
+ public boolean useReactor()
+ {
+ return embedded.useReactor();
+ }
+
+ @Override
+ public MAEExecutionRequest withPluginGoal( final PluginGoal goal )
+ {
+ embedded.getGoals().add( goal.formatCliGoal() );
+ return this;
+ }
+
+ @Override
+ public MAEExecutionRequest withPluginGoals( final PluginGoal... goals )
+ {
+ for ( final PluginGoal goal : goals )
+ {
+ embedded.getGoals().add( goal.formatCliGoal() );
+ }
+
+ return this;
+ }
+
+ @Override
+ public MAEExecutionRequest setSystemProperty( final String key, final String value )
+ {
+ embedded.getSystemProperties().setProperty( key, value );
+ return this;
+ }
+
+ @Override
+ public MAEExecutionRequest setUserProperty( final String key, final String value )
+ {
+ embedded.getUserProperties().setProperty( key, value );
+ return this;
+ }
+
+}
Propchange: maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/DefaultMAEExecutionRequest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/MAEAdvisor.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/MAEAdvisor.java?rev=1104405&view=auto
==============================================================================
--- maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/MAEAdvisor.java (added)
+++ maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/MAEAdvisor.java Tue May 17 16:57:50 2011
@@ -0,0 +1,74 @@
+/*
+ * Copyright 2010 Red Hat, Inc.
+ *
+ * Licensed 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.
+ */
+
+package org.apache.maven.mae;
+
+import org.apache.maven.mae.conf.MAELibrary;
+import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.component.annotations.Requirement;
+
+import javax.inject.Inject;
+import javax.inject.Named;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@Component( role = MAEAdvisor.class )
+public class MAEAdvisor
+{
+
+ private final Map<String, Object> advice = new HashMap<String, Object>();
+
+ @Requirement( hint = "core" )
+ private final MAELibrary library;
+
+ @Inject
+ public MAEAdvisor( @Named( "core" ) final MAELibrary library )
+ {
+ this.library = library;
+ }
+
+ public MAEAdvisor advise( final String key, final Object value, final boolean override )
+ {
+ if ( override || !advice.containsKey( key ) )
+ {
+ library.getLogger().debug( "NEW ADVICE: " + key + " = " + value );
+ advice.put( key, value );
+ }
+
+ return this;
+ }
+
+ public Object getRawAdvice( final String key )
+ {
+ return advice.get( key );
+ }
+
+ public <T> T getAdvice( final String key, final Class<T> adviceType )
+ throws MAEException
+ {
+ try
+ {
+ return adviceType.cast( advice.get( key ) );
+ }
+ catch ( final ClassCastException e )
+ {
+ throw new MAEException( "Invalid type for advice: %s.\nExpected type: %s\nActual type: %s", e, key,
+ adviceType.getName(), advice.get( key ).getClass().getName() );
+ }
+ }
+
+}
Propchange: maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/MAEAdvisor.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/MAEException.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/MAEException.java?rev=1104405&view=auto
==============================================================================
--- maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/MAEException.java (added)
+++ maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/MAEException.java Tue May 17 16:57:50 2011
@@ -0,0 +1,120 @@
+/*
+ * Copyright 2010 Red Hat, Inc.
+ *
+ * Licensed 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.
+ */
+
+package org.apache.maven.mae;
+
+import java.text.MessageFormat;
+
+public class MAEException
+ extends Exception
+{
+
+ private static final long serialVersionUID = 1L;
+
+ private final Object[] params;
+
+ private String formattedMessage;
+
+ public MAEException( final String message, final Throwable cause )
+ {
+ super( message, cause );
+ params = null;
+ }
+
+ public MAEException( final String message )
+ {
+ super( message );
+ params = null;
+ }
+
+ public MAEException( final String message, final Throwable cause, final Object... params )
+ {
+ super( message, cause );
+ this.params = params;
+ }
+
+ public MAEException( final String message, final Object... params )
+ {
+ super( message );
+ this.params = params;
+ }
+
+ @Override
+ public synchronized String getMessage()
+ {
+ if ( formattedMessage == null )
+ {
+ final String format = super.getMessage();
+ if ( params == null || params.length < 1 )
+ {
+ formattedMessage = format;
+ }
+ else
+ {
+ final String original = formattedMessage;
+ try
+ {
+ formattedMessage = String.format( format, params );
+ }
+ catch ( final Error e )
+ {
+ }
+ catch ( final RuntimeException e )
+ {
+ }
+ catch ( final Exception e )
+ {
+ }
+
+ if ( formattedMessage == null || original == formattedMessage )
+ {
+ try
+ {
+ formattedMessage = MessageFormat.format( format, params );
+ }
+ catch ( final Error e )
+ {
+ formattedMessage = format;
+ throw e;
+ }
+ catch ( final RuntimeException e )
+ {
+ formattedMessage = format;
+ throw e;
+ }
+ catch ( final Exception e )
+ {
+ formattedMessage = format;
+ }
+ }
+ }
+ }
+
+ return formattedMessage;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.lang.Throwable#getLocalizedMessage()
+ */
+ @Override
+ public String getLocalizedMessage()
+ {
+ return getMessage();
+ }
+
+}
Propchange: maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/MAEException.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/MAEExecutionRequest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/MAEExecutionRequest.java?rev=1104405&view=auto
==============================================================================
--- maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/MAEExecutionRequest.java (added)
+++ maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/MAEExecutionRequest.java Tue May 17 16:57:50 2011
@@ -0,0 +1,290 @@
+/*
+ * Copyright 2010 Red Hat, Inc.
+ *
+ * Licensed 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.
+ */
+
+package org.apache.maven.mae;
+
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.execution.ExecutionListener;
+import org.apache.maven.execution.MavenExecutionRequest;
+import org.apache.maven.model.Profile;
+import org.apache.maven.project.ProjectBuildingRequest;
+import org.apache.maven.settings.Mirror;
+import org.apache.maven.settings.Proxy;
+import org.apache.maven.settings.Server;
+import org.apache.maven.settings.Settings;
+
+import java.io.File;
+import java.util.Date;
+import java.util.List;
+import java.util.Properties;
+
+public interface MAEExecutionRequest
+{
+
+ MAEExecutionRequest copyOf();
+
+ MavenExecutionRequest asMavenExecutionRequest();
+
+ MAEExecutionRequest setPasswordToEncrypt( final String password );
+
+ String getPasswordToEncyrpt();
+
+ MAEExecutionRequest setSettings( final Settings settings );
+
+ Settings getSettings();
+
+ // NOTE: Methods below are adapted from MavenExecutionRequest
+
+ // Base directory
+ MAEExecutionRequest setBaseDirectory( File basedir );
+
+ String getBaseDirectory();
+
+ // Timing (remove this)
+ MAEExecutionRequest setStartTime( Date start );
+
+ Date getStartTime();
+
+ // Goals
+ MAEExecutionRequest withPluginGoals( PluginGoal... goal );
+
+ MAEExecutionRequest withPluginGoal( PluginGoal goal );
+
+ MAEExecutionRequest setGoals( List<String> goals );
+
+ List<String> getGoals();
+
+ // Properties
+
+ /**
+ * Sets the system properties to use for interpolation and profile activation. The system properties are collected
+ * from the runtime environment like {@link System#getProperties()} and environment variables.
+ *
+ * @param systemProperties
+ * The system properties, may be {@code null}.
+ * @return This request, never {@code null}.
+ */
+ MAEExecutionRequest setSystemProperties( Properties systemProperties );
+
+ MAEExecutionRequest setSystemProperty( String key, String value );
+
+ /**
+ * Gets the system properties to use for interpolation and profile activation. The system properties are collected
+ * from the runtime environment like {@link System#getProperties()} and environment variables.
+ *
+ * @return The system properties, never {@code null}.
+ */
+ Properties getSystemProperties();
+
+ /**
+ * Sets the user properties to use for interpolation and profile activation. The user properties have been
+ * configured directly by the user on his discretion, e.g. via the {@code -Dkey=value} parameter on the command
+ * line.
+ *
+ * @param userProperties
+ * The user properties, may be {@code null}.
+ * @return This request, never {@code null}.
+ */
+ MAEExecutionRequest setUserProperties( Properties userProperties );
+
+ MAEExecutionRequest setUserProperty( String key, String value );
+
+ /**
+ * Gets the user properties to use for interpolation and profile activation. The user properties have been
+ * configured directly by the user on his discretion, e.g. via the {@code -Dkey=value} parameter on the command
+ * line.
+ *
+ * @return The user properties, never {@code null}.
+ */
+ Properties getUserProperties();
+
+ // Reactor
+ MAEExecutionRequest setReactorFailureBehavior( String failureBehavior );
+
+ String getReactorFailureBehavior();
+
+ MAEExecutionRequest setSelectedProjects( List<String> projects );
+
+ List<String> getSelectedProjects();
+
+ MAEExecutionRequest setResumeFrom( String project );
+
+ String getResumeFrom();
+
+ MAEExecutionRequest setMakeBehavior( String makeBehavior );
+
+ String getMakeBehavior();
+
+ MAEExecutionRequest setThreadCount( String threadCount );
+
+ String getThreadCount();
+
+ boolean isThreadConfigurationPresent();
+
+ MAEExecutionRequest setPerCoreThreadCount( boolean perCoreThreadCount );
+
+ boolean isPerCoreThreadCount();
+
+ // Recursive (really to just process the top-level POM)
+ MAEExecutionRequest setRecursive( boolean recursive );
+
+ boolean isRecursive();
+
+ MAEExecutionRequest setPom( File pom );
+
+ File getPom();
+
+ // Errors
+ MAEExecutionRequest setShowErrors( boolean showErrors );
+
+ boolean isShowErrors();
+
+ // Logging
+ MAEExecutionRequest setLoggingLevel( int loggingLevel );
+
+ int getLoggingLevel();
+
+ // Update snapshots
+ MAEExecutionRequest setUpdateSnapshots( boolean updateSnapshots );
+
+ boolean isUpdateSnapshots();
+
+ MAEExecutionRequest setNoSnapshotUpdates( boolean noSnapshotUpdates );
+
+ boolean isNoSnapshotUpdates();
+
+ // Checksum policy
+ MAEExecutionRequest setGlobalChecksumPolicy( String globalChecksumPolicy );
+
+ String getGlobalChecksumPolicy();
+
+ // Local repository
+ MAEExecutionRequest setLocalRepositoryPath( String localRepository );
+
+ MAEExecutionRequest setLocalRepositoryPath( File localRepository );
+
+ File getLocalRepositoryPath();
+
+ MAEExecutionRequest setLocalRepository( ArtifactRepository repository );
+
+ ArtifactRepository getLocalRepository();
+
+ // Interactive
+ MAEExecutionRequest setInteractiveMode( boolean interactive );
+
+ boolean isInteractiveMode();
+
+ // Offline
+ MAEExecutionRequest setOffline( boolean offline );
+
+ boolean isOffline();
+
+ // Profiles
+ List<Profile> getProfiles();
+
+ MAEExecutionRequest addProfile( Profile profile );
+
+ MAEExecutionRequest setProfiles( List<Profile> profiles );
+
+ MAEExecutionRequest addActiveProfile( String profile );
+
+ MAEExecutionRequest addActiveProfiles( List<String> profiles );
+
+ MAEExecutionRequest setActiveProfiles( List<String> profiles );
+
+ List<String> getActiveProfiles();
+
+ MAEExecutionRequest addInactiveProfile( String profile );
+
+ MAEExecutionRequest addInactiveProfiles( List<String> profiles );
+
+ MAEExecutionRequest setInactiveProfiles( List<String> profiles );
+
+ List<String> getInactiveProfiles();
+
+ // Proxies
+ List<Proxy> getProxies();
+
+ MAEExecutionRequest setProxies( List<Proxy> proxies );
+
+ MAEExecutionRequest addProxy( Proxy proxy );
+
+ // Servers
+ List<Server> getServers();
+
+ MAEExecutionRequest setServers( List<Server> servers );
+
+ MAEExecutionRequest addServer( Server server );
+
+ // Mirrors
+ List<Mirror> getMirrors();
+
+ MAEExecutionRequest setMirrors( List<Mirror> mirrors );
+
+ MAEExecutionRequest addMirror( Mirror mirror );
+
+ // Plugin groups
+ List<String> getPluginGroups();
+
+ MAEExecutionRequest setPluginGroups( List<String> pluginGroups );
+
+ MAEExecutionRequest addPluginGroup( String pluginGroup );
+
+ MAEExecutionRequest addPluginGroups( List<String> pluginGroups );
+
+ boolean isProjectPresent();
+
+ MAEExecutionRequest setProjectPresent( boolean isProjectPresent );
+
+ File getUserSettingsFile();
+
+ MAEExecutionRequest setUserSettingsFile( File userSettingsFile );
+
+ File getGlobalSettingsFile();
+
+ MAEExecutionRequest setGlobalSettingsFile( File globalSettingsFile );
+
+ MAEExecutionRequest addRemoteRepository( ArtifactRepository repository );
+
+ MAEExecutionRequest addPluginArtifactRepository( ArtifactRepository repository );
+
+ /**
+ * Set a new list of remote repositories to use the execution request. This is necessary if you perform
+ * transformations on the remote repositories being used. For example if you replace existing repositories with
+ * mirrors then it's easier to just replace the whole list with a new list of transformed repositories.
+ *
+ * @param repositories
+ * @return
+ */
+ MAEExecutionRequest setRemoteRepositories( List<ArtifactRepository> repositories );
+
+ List<ArtifactRepository> getRemoteRepositories();
+
+ MAEExecutionRequest setPluginArtifactRepositories( List<ArtifactRepository> repositories );
+
+ List<ArtifactRepository> getPluginArtifactRepositories();
+
+ File getUserToolchainsFile();
+
+ MAEExecutionRequest setUserToolchainsFile( File userToolchainsFile );
+
+ ExecutionListener getExecutionListener();
+
+ MAEExecutionRequest setExecutionListener( ExecutionListener executionListener );
+
+ ProjectBuildingRequest getProjectBuildingRequest();
+
+}
Propchange: maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/MAEExecutionRequest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/PluginGoal.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/PluginGoal.java?rev=1104405&view=auto
==============================================================================
--- maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/PluginGoal.java (added)
+++ maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/PluginGoal.java Tue May 17 16:57:50 2011
@@ -0,0 +1,110 @@
+/*
+ * Copyright 2010 Red Hat, Inc.
+ *
+ * Licensed 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.
+ */
+
+package org.apache.maven.mae;
+
+public class PluginGoal
+{
+
+ private final String groupId;
+
+ private final String artifactId;
+
+ private final String version;
+
+ private final String pluginPrefix;
+
+ private final String goal;
+
+ public PluginGoal( final String groupId, final String artifactId, final String version, final String goal )
+ {
+ pluginPrefix = null;
+ this.groupId = groupId;
+ this.artifactId = artifactId;
+ this.version = version;
+ this.goal = goal;
+ }
+
+ public PluginGoal( final String groupId, final String artifactId, final String goal )
+ {
+ pluginPrefix = null;
+ this.groupId = groupId;
+ this.artifactId = artifactId;
+ version = null;
+ this.goal = goal;
+ }
+
+ public PluginGoal( final String pluginPrefix, final String goal )
+ {
+ this.pluginPrefix = pluginPrefix;
+ groupId = null;
+ artifactId = null;
+ version = null;
+ this.goal = goal;
+ }
+
+ public String getGroupId()
+ {
+ return groupId;
+ }
+
+ public String getArtifactId()
+ {
+ return artifactId;
+ }
+
+ public String getVersion()
+ {
+ return version;
+ }
+
+ public String getPluginPrefix()
+ {
+ return pluginPrefix;
+ }
+
+ public String getGoal()
+ {
+ return goal;
+ }
+
+ public String formatCliGoal()
+ {
+ final StringBuilder sb = new StringBuilder();
+ if ( pluginPrefix != null )
+ {
+ sb.append( pluginPrefix );
+ }
+ else
+ {
+ sb.append( groupId ).append( ':' ).append( artifactId );
+ if ( version != null )
+ {
+ sb.append( ':' ).append( version );
+ }
+ }
+ sb.append( ':' ).append( goal );
+
+ return sb.toString();
+ }
+
+ @Override
+ public String toString()
+ {
+ return "Plugin+Goal: " + formatCliGoal();
+ }
+
+}
Propchange: maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/PluginGoal.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/AbstractMAELibrary.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/AbstractMAELibrary.java?rev=1104405&view=auto
==============================================================================
--- maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/AbstractMAELibrary.java (added)
+++ maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/AbstractMAELibrary.java Tue May 17 16:57:50 2011
@@ -0,0 +1,270 @@
+/*
+ * Copyright 2010 Red Hat, Inc.
+ *
+ * Licensed 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.
+ */
+
+package org.apache.maven.mae.conf;
+
+import org.apache.log4j.Logger;
+import org.apache.maven.mae.conf.ext.ExtensionConfiguration;
+import org.apache.maven.mae.conf.ext.ExtensionConfigurationException;
+import org.apache.maven.mae.conf.ext.ExtensionConfigurationLoader;
+import org.apache.maven.mae.internal.container.ComponentKey;
+import org.apache.maven.mae.internal.container.ComponentSelector;
+import org.apache.maven.mae.internal.container.InstanceRegistry;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+public abstract class AbstractMAELibrary
+ implements MAELibrary
+{
+
+ private final String name;
+
+ private final VersionProvider versionProvider;
+
+ private final String logHandle;
+
+ private final Logger logger;
+
+ private final String id;
+
+ private final ExtensionConfigurationLoader configLoader;
+
+ private ExtensionConfiguration config;
+
+ private final ComponentSelector selector;
+
+ private final Set<ComponentKey<?>> exportedComponents = new HashSet<ComponentKey<?>>();
+
+ private final Map<Class<?>, Set<ComponentKey<?>>> managementComponents =
+ new HashMap<Class<?>, Set<ComponentKey<?>>>();
+
+ private final InstanceRegistry instanceRegistry = new InstanceRegistry();
+
+ protected AbstractMAELibrary( final String id, final String name, final VersionProvider versionProvider,
+ final ExtensionConfigurationLoader configLoader )
+ {
+ this( id, name, versionProvider, id, configLoader, null );
+ }
+
+ protected AbstractMAELibrary( final String id, final String name, final VersionProvider versionProvider,
+ final String logHandle )
+ {
+ this( id, name, versionProvider, logHandle, null, null );
+ }
+
+ protected AbstractMAELibrary( final String id, final String name, final VersionProvider versionProvider )
+ {
+ this( id, name, versionProvider, id, null, null );
+ }
+
+ protected AbstractMAELibrary( final String id, final String name, final VersionProvider versionProvider,
+ final String logHandle, final ExtensionConfigurationLoader configLoader )
+ {
+ this( id, name, versionProvider, logHandle, configLoader, null );
+ }
+
+ protected AbstractMAELibrary( final String id, final String name, final VersionProvider versionProvider,
+ final ExtensionConfigurationLoader configLoader,
+ final ComponentSelector componentSelector )
+ {
+ this( id, name, versionProvider, id, configLoader, componentSelector );
+ }
+
+ protected AbstractMAELibrary( final String id, final String name, final VersionProvider versionProvider,
+ final String logHandle, final ComponentSelector componentSelector )
+ {
+ this( id, name, versionProvider, logHandle, null, componentSelector );
+ }
+
+ protected AbstractMAELibrary( final String id, final String name, final VersionProvider versionProvider,
+ final ComponentSelector componentSelector )
+ {
+ this( id, name, versionProvider, id, null, componentSelector );
+ }
+
+ protected AbstractMAELibrary( final String id, final String name, final VersionProvider versionProvider,
+ final String logHandle, final ExtensionConfigurationLoader configLoader,
+ final ComponentSelector componentSelector )
+ {
+ this.id = id;
+ this.name = name;
+ this.versionProvider = versionProvider;
+ this.logHandle = logHandle;
+ this.configLoader = configLoader;
+ selector = componentSelector;
+ logger = Logger.getLogger( logHandle );
+ }
+
+ public ComponentSelector getComponentSelector()
+ {
+ return selector;
+ }
+
+ public Logger getLogger()
+ {
+ return logger;
+ }
+
+ public void loadConfiguration( final MAEConfiguration embConfig )
+ throws ExtensionConfigurationException
+ {
+ if ( configLoader != null )
+ {
+ config = configLoader.loadConfiguration( embConfig );
+ }
+ }
+
+ protected void setConfiguration( final ExtensionConfiguration config )
+ {
+ this.config = config;
+ }
+
+ public ExtensionConfiguration getConfiguration()
+ {
+ return config;
+ }
+
+ public String getLabel()
+ {
+ return name + ": " + versionProvider.getVersion();
+ }
+
+ public String getId()
+ {
+ return id;
+ }
+
+ public String getLogHandle()
+ {
+ return logHandle;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public String getVersion()
+ {
+ return versionProvider.getVersion();
+ }
+
+ protected AbstractMAELibrary withExportedComponent( final ComponentKey<?> key )
+ {
+ exportedComponents.add( key );
+ return this;
+ }
+
+ @Override
+ public Set<ComponentKey<?>> getExportedComponents()
+ {
+ return exportedComponents;
+ }
+
+ public Map<Class<?>, Set<ComponentKey<?>>> getManagementComponents()
+ {
+ return managementComponents;
+ }
+
+ public AbstractMAELibrary withManagementComponent( final ComponentKey<?> key, final Class<?>... managementTypes )
+ {
+ if ( managementTypes != null )
+ {
+ for ( final Class<?> managementType : managementTypes )
+ {
+ Set<ComponentKey<?>> keys = managementComponents.get( managementType );
+ if ( keys == null )
+ {
+ keys = new HashSet<ComponentKey<?>>();
+ managementComponents.put( managementType, keys );
+ }
+ keys.add( key );
+ }
+ }
+
+ return this;
+ }
+
+ public Set<ComponentKey<?>> getManagementComponents( final Class<?> managementType )
+ {
+ return managementComponents.get( managementType );
+ }
+
+ public <T> AbstractMAELibrary withComponentInstance( final ComponentKey<T> key, final T instance )
+ {
+ instanceRegistry.add( key, instance );
+ return this;
+ }
+
+ @Override
+ public InstanceRegistry getInstanceRegistry()
+ {
+ return instanceRegistry;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode()
+ {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ( ( id == null ) ? 0 : id.hashCode() );
+ return result;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals( final Object obj )
+ {
+ if ( this == obj )
+ {
+ return true;
+ }
+ if ( obj == null )
+ {
+ return false;
+ }
+ if ( getClass() != obj.getClass() )
+ {
+ return false;
+ }
+ final AbstractMAELibrary other = (AbstractMAELibrary) obj;
+ if ( id == null )
+ {
+ if ( other.id != null )
+ {
+ return false;
+ }
+ }
+ else if ( !id.equals( other.id ) )
+ {
+ return false;
+ }
+ return true;
+ }
+
+}
Propchange: maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/AbstractMAELibrary.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/CoreLibrary.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/CoreLibrary.java?rev=1104405&view=auto
==============================================================================
--- maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/CoreLibrary.java (added)
+++ maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/CoreLibrary.java Tue May 17 16:57:50 2011
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2010 Red Hat, Inc.
+ *
+ * Licensed 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.
+ */
+
+package org.apache.maven.mae.conf;
+
+import org.commonjava.atservice.annotation.Service;
+
+/**
+ * EMB library that injects a custom {@link MirrorSelector} implementation, which uses a custom
+ * configuration loaded by {@link AppIntegrationConfigLoader}.
+ */
+@Service( MAELibrary.class )
+public class CoreLibrary
+ extends AbstractMAELibrary
+{
+ // Requires an empty constructor for ServiceLoader to work!
+ public CoreLibrary()
+ {
+ super( "core", "EMB-Core", new MavenPomVersionProvider( "org.commonjava.emb", "emb-api" ) );
+ }
+}
Propchange: maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/CoreLibrary.java
------------------------------------------------------------------------------
svn:eol-style = native