From 107b03a1f79bde14bd4ff0d7c7f4ac35c004e516 Mon Sep 17 00:00:00 2001 From: Jason van Zyl Date: Fri, 15 May 2009 14:08:43 +0000 Subject: [PATCH] o getting rid of some dead code in the project builder in preparation for trying to group more of the profile handling code as a test is failing in the embedder related to profiles while everything in the pom construction test is working correctly. git-svn-id: https://svn.apache.org/repos/asf/maven/components/branches/MNG-2766@775141 13f79535-47bb-0310-9956-ffa450edef68 --- README.bootstrap.mercury.txt | 36 -- .../lifecycle/DefaultLifecycleExecutor.java | 3 +- .../project/DefaultMavenProjectBuilder.java | 61 +- .../apache/maven/project/MavenProject.java | 4 + .../maven/project/PomConstructionTest.java | 16 +- .../java/org/apache/maven/cli/MavenCli.java | 3 +- .../maven/embedder/MavenEmbedderTest.java | 36 +- maven-project-spec.pdf | Bin 141121 -> 0 bytes maven-project-spec.tex | 529 ------------------ rules.txt | 2 - 10 files changed, 56 insertions(+), 634 deletions(-) delete mode 100644 README.bootstrap.mercury.txt delete mode 100644 maven-project-spec.pdf delete mode 100644 maven-project-spec.tex delete mode 100644 rules.txt diff --git a/README.bootstrap.mercury.txt b/README.bootstrap.mercury.txt deleted file mode 100644 index fe034fac6f..0000000000 --- a/README.bootstrap.mercury.txt +++ /dev/null @@ -1,36 +0,0 @@ -BOOTSTRAPPING BASICS ------------------------ - -You'll need: - -- Java 1.5 -- Ant 1.6.5 or later - -First, give Ant a location into which the completed Maven distro should be installed: - - export M2_HOME=$HOME/apps/maven/apache-maven-3.0-SNAPSHOT - -Then, run Ant: - - ant -f build-mercury.xml - -You can use additiona options on ant command line: - --Dmaven.repo.update.policy={never|always|daily} --Dmaven.repo.system={mercury|legacy} --Dmaven.home=$HOME/apps/maven/apache-maven-3.0-SNAPSHOT - -if you'd like to debug the bootstrap from Eclipse, uncomment the debugging options in the build-mercury.xml around -line 310, then use the following commands: - -For the first time - run the following, it will update the local repo - -ant -f build-mercury.xml -Dmaven.repo.update.policy=always -Dmaven.repo.system=mercury - -then you can run - -ant -f build-mercury.xml -Dmaven.repo.update.policy=never -Dmaven.repo.system=mercury - -not to bother with repo updates - - \ No newline at end of file diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java b/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java index b3255a3852..3f8a377321 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java @@ -17,7 +17,6 @@ package org.apache.maven.lifecycle; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.HashMap; @@ -986,6 +985,6 @@ public class DefaultLifecycleExecutor ArtifactResolutionResult result = repositorySystem.resolve( request ); resolutionErrorHandler.throwErrors( request, result ); - project.setArtifacts( result.getArtifacts() ); + project.setArtifacts( result.getArtifacts() ); } } diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java b/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java index 2e18555118..5e01b23711 100644 --- a/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java +++ b/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java @@ -279,12 +279,12 @@ public class DefaultMavenProjectBuilder { MavenProject project = build( pomFile, configuration ); - Artifact artifact = - repositorySystem.createProjectArtifact( project.getGroupId(), project.getArtifactId(), project.getVersion() ); + Artifact artifact = repositorySystem.createProjectArtifact( project.getGroupId(), project.getArtifactId(), project.getVersion() ); artifact.setFile( pomFile ); ArtifactResolutionRequest request = new ArtifactResolutionRequest() .setArtifact( artifact ) + .setResolveRoot( false ) .setResolveTransitively( true ) .setLocalRepository( configuration.getLocalRepository() ) .setRemoteRepostories( project.getRemoteArtifactRepositories() ) @@ -302,8 +302,6 @@ public class DefaultMavenProjectBuilder project.setArtifacts( result.getArtifacts() ); - project.getArtifacts().remove( artifact ); - return new MavenProjectBuildingResult( project, result ); } @@ -377,12 +375,8 @@ public class DefaultMavenProjectBuilder if ( domainModel.getParentId() != null ) { List mavenParents; - MavenProject topProject = projectBuilderConfiguration.getTopLevelProjectFromReactor(); - if ( useTopLevelProjectForParent( domainModel, topProject ) ) - { - mavenParents = getDomainModelParentsFromLocalPath( domainModel, localRepository, remoteRepositories, topProject.getFile(), projectBuilderConfiguration ); - } - else if ( isParentLocal( domainModel.getRelativePathOfParent(), pomFile.getParentFile() ) ) + + if ( isParentLocal( domainModel.getRelativePathOfParent(), pomFile.getParentFile() ) ) { mavenParents = getDomainModelParentsFromLocalPath( domainModel, localRepository, remoteRepositories, pomFile.getParentFile(), projectBuilderConfiguration ); } @@ -445,19 +439,6 @@ public class DefaultMavenProjectBuilder return transformedDomainModel; } - private static boolean useTopLevelProjectForParent( DomainModel currentModel, MavenProject topProject ) - throws IOException - { - if ( topProject == null || currentModel.getModel().getParent() == null ) - { - return false; - } - - return topProject.getGroupId().equals( currentModel.getParentGroupId() ) && topProject.getArtifactId().equals( currentModel.getParentArtifactId() ) - && topProject.getVersion().equals( currentModel.getParentVersion() ); - - } - private void validateModel( Model model, File pomFile ) throws InvalidProjectModelException { @@ -604,22 +585,16 @@ public class DefaultMavenProjectBuilder { parentFile = new File( parentFile.getAbsolutePath(), "pom.xml" ); } + MavenProject topProject = projectBuilderConfiguration.getTopLevelProjectFromReactor(); - boolean isTop = useTopLevelProjectForParent( domainModel, topProject ); + DomainModel parentDomainModel = null; - if ( !isTop ) + if ( !parentFile.isFile() ) { - if ( !parentFile.isFile() ) - { - throw new IOException( "File does not exist: File = " + parentFile.getAbsolutePath() ); - } - parentDomainModel = new DomainModel( parentFile ); - parentDomainModel.setProjectDirectory( parentFile.getParentFile() ); - } - else - { - parentDomainModel = new DomainModel( projectBuilderConfiguration.getTopLevelProjectFromReactor().getFile() ); + throw new IOException( "File does not exist: File = " + parentFile.getAbsolutePath() ); } + parentDomainModel = new DomainModel( parentFile ); + parentDomainModel.setProjectDirectory( parentFile.getParentFile() ); if ( !parentDomainModel.matchesParentOf( domainModel ) ) { @@ -639,20 +614,8 @@ public class DefaultMavenProjectBuilder domainModels.add( parentDomainModel ); if ( domainModel.getParentId() != null ) - { - if ( isTop ) - { - if ( isParentLocal( parentDomainModel.getRelativePathOfParent(), parentFile.getParentFile() ) ) - { - domainModels - .addAll( getDomainModelParentsFromLocalPath( parentDomainModel, localRepository, remoteRepositories, topProject.getFile().getParentFile(), projectBuilderConfiguration ) ); - } - else - { - domainModels.addAll( getDomainModelParentsFromRepository( parentDomainModel, localRepository, remoteRepositories ) ); - } - } - else if ( isParentLocal( parentDomainModel.getRelativePathOfParent(), parentFile.getParentFile() ) ) + { + if ( isParentLocal( parentDomainModel.getRelativePathOfParent(), parentFile.getParentFile() ) ) { domainModels.addAll( getDomainModelParentsFromLocalPath( parentDomainModel, localRepository, remoteRepositories, parentFile.getParentFile(), projectBuilderConfiguration ) ); } diff --git a/maven-core/src/main/java/org/apache/maven/project/MavenProject.java b/maven-core/src/main/java/org/apache/maven/project/MavenProject.java index 1fa9de9e73..86caefe92b 100644 --- a/maven-core/src/main/java/org/apache/maven/project/MavenProject.java +++ b/maven-core/src/main/java/org/apache/maven/project/MavenProject.java @@ -577,12 +577,16 @@ public class MavenProject list.add( getBuild().getOutputDirectory() ); + System.out.println( ">>>>> " + getArtifacts() ); + for ( Artifact a : getArtifacts() ) { if ( a.getArtifactHandler().isAddedToClasspath() ) { File file = a.getFile(); + System.out.println( ">> " + a.getArtifactId() ); + if ( file == null ) { throw new DependencyResolutionRequiredException( a ); diff --git a/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java b/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java index 0ee0ca972c..559b7347da 100644 --- a/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java +++ b/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java @@ -20,8 +20,6 @@ package org.apache.maven.project; */ import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -29,13 +27,10 @@ import java.util.Properties; import org.apache.maven.artifact.repository.DefaultArtifactRepository; import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout; -import org.apache.maven.model.Model; -import org.apache.maven.model.io.xpp3.MavenXpp3Reader; import org.apache.maven.profiles.DefaultProfileManager; import org.apache.maven.profiles.ProfileActivationContext; import org.apache.maven.project.harness.PomTestWrapper; import org.codehaus.plexus.PlexusTestCase; -import org.codehaus.plexus.util.xml.pull.XmlPullParserException; public class PomConstructionTest extends PlexusTestCase @@ -50,13 +45,11 @@ public class PomConstructionTest private File testDirectory; - private File testMixinDirectory; - protected void setUp() throws Exception { testDirectory = new File( getBasedir(), BASE_POM_DIR ); - testMixinDirectory = new File( getBasedir(), BASE_MIXIN_DIR ); + new File( getBasedir(), BASE_MIXIN_DIR ); mavenProjectBuilder = (DefaultMavenProjectBuilder) lookup( MavenProjectBuilder.class ); } @@ -1470,10 +1463,11 @@ public class PomConstructionTest localRepoUrl = "file://" + localRepoUrl; config.setLocalRepository( new DefaultArtifactRepository( "local", localRepoUrl, new DefaultRepositoryLayout() ) ); - ProfileActivationContext pCtx = new ProfileActivationContext( null, true ); + ProfileActivationContext profileActivationContext = new ProfileActivationContext( null, true ); + if ( profileIds != null ) { - pCtx.setExplicitlyActiveProfileIds( Arrays.asList( profileIds ) ); + profileActivationContext.setExplicitlyActiveProfileIds( Arrays.asList( profileIds ) ); } if ( executionProperties != null ) @@ -1481,7 +1475,7 @@ public class PomConstructionTest config.setExecutionProperties( executionProperties ); } - config.setGlobalProfileManager( new DefaultProfileManager( pCtx ) ); + config.setGlobalProfileManager( new DefaultProfileManager( profileActivationContext ) ); return new PomTestWrapper( pomFile, mavenProjectBuilder.build( pomFile, config ) ); } diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java index a3b7936172..e6b476256b 100644 --- a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java +++ b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java @@ -54,8 +54,7 @@ public class MavenCli } /** @noinspection ConfusingMainMethod */ - public static int main( String[] args, - ClassWorld classWorld ) + public static int main( String[] args, ClassWorld classWorld ) { MavenCli cli = new MavenCli(); diff --git a/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java b/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java index cff492bfc8..7028370e91 100644 --- a/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java +++ b/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java @@ -137,6 +137,30 @@ public class MavenEmbedderTest assertTrue( jar.exists() ); } + public void testWithOptionalDependencies() + throws Exception + { + File testDirectory = new File( basedir, "src/test/projects/optional-dep" ); + + File targetDirectory = new File( basedir, "target/projects/option-dep" ); + + FileUtils.copyDirectoryStructure( testDirectory, targetDirectory ); + + MavenExecutionRequest request = new DefaultMavenExecutionRequest() + .setBaseDirectory( targetDirectory ) + .setShowErrors( true ) + .setGoals( Arrays.asList( new String[] { "install" } ) ); + + MavenExecutionResult result = mavenEmbedder.execute( request ); + + if (result.hasExceptions() ) + { + result.getExceptions().get( 0 ).printStackTrace(); + fail( "Project didn't execute correctly."); + } + } + + /*MNG-3919*/ public void testWithInvalidGoal() throws Exception @@ -147,8 +171,10 @@ public class MavenEmbedderTest FileUtils.copyDirectoryStructure( testDirectory, targetDirectory ); - MavenExecutionRequest request = new DefaultMavenExecutionRequest().setBaseDirectory( targetDirectory ) - .setShowErrors( true ).setGoals( Arrays.asList( new String[]{"validate"} ) ); + MavenExecutionRequest request = new DefaultMavenExecutionRequest() + .setBaseDirectory( targetDirectory ) + .setShowErrors( true ) + .setGoals( Arrays.asList( new String[]{"validate"} ) ); MavenExecutionResult result = mavenEmbedder.execute( request ); List exceptions = result.getExceptions(); @@ -199,7 +225,8 @@ public class MavenEmbedderTest // Check with profile not active MavenExecutionRequest requestWithoutProfile = new DefaultMavenExecutionRequest() - .setPom( new File( targetDirectory, "pom.xml" ) ).setShowErrors( true ) + .setPom( new File( targetDirectory, "pom.xml" ) ) + .setShowErrors( true ) .setGoals( Arrays.asList( new String[] { "validate" } ) ); MavenExecutionResult r0 = mavenEmbedder.execute( requestWithoutProfile ); @@ -226,6 +253,9 @@ public class MavenEmbedderTest MavenProject p1 = r1.getProject(); + System.out.println( p1 ); + System.out.println( p1.getProperties() ); + assertEquals( "true", p1.getProperties().getProperty( "embedderProfile" ) ); assertEquals( "jason", p1.getProperties().getProperty( "name" ) ); diff --git a/maven-project-spec.pdf b/maven-project-spec.pdf deleted file mode 100644 index a3fc8cc36bf5a7170262d2a3ceae2898e8fc68d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141121 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

xWra)u2Kn*bD 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

    )_(_B| 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"ZxcqetyOkk$-`HO#9!| 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 - - org.apache.maven.shared - maven-shared-components - 9 - - - maven - org.apache.maven - 3.0-SNAPSHOT - - -\end{verbatim} - -In the case above, the child pom's model properties would be first in the set, followed by the model properties of \emph{maven-shared-components}; then \emph{maven} project's model properties and finally by the SuperPom's model properties. So from the framework's perspective there is little difference between multiple inheritance and single inheritance. - -Mixins would function the same as multiple/single inheritance: - -\begin{verbatim} - - - org.apache.maven - dependency-mixin - 1 - - - org.apache.maven - repository-mixin - 2 - - -\end{verbatim} - -The only difference between a parent project and a mixin is that the mixin is abstract (not a complete model). - -\section{Maven Project Inheritance Rules} -These rules outlined in this section are provided in the PomTransformer class. The maven-shared-model framework will delegate to this transformer for the processing of the Maven specific domain model rules. - -\subsection{Inheriting Version and Group Ids} -If \emph{project.version} is not specified within the child pom, the child pom will use the \emph{project.parent.version} as its own version. Similarly, if \emph{project.groupId} is not within the child pom, the child pom will use the \emph{project.parent.groupId} as its own \emph{project.groupId}. - -\subsection{Inheriting URLs} - -\subsection{Properties Excluded From Being Overridden} -If the child project defines any of the properties below, they are not overridden by or joined with elements of the parent pom(s). - -\begin{enumerate} -\item project.build.resources -\item project.build.testResoures -\item project.pluginRepositories -\item project.organization -\item project.licenses -\item project.developers -\item project.contributors -\item project.mailingLists -\item project.ciManagement -\item project.issueManagement -\item project.distributionsManagement.repository -\item project.distributionsManagement.snapshotRepository -\item project.distributionsManagement.site -\end{enumerate} - -\subsection{Properties Excluded From Inheritance} -A child project does not inherit the following properties from its specified parent project\footnote{Technically, project.version, project.groupId and project.artifactId are not inherited from the parent pom. They do, however, have the values of project.parent.version, project.parent.groupId and project.parent.artifactId implicitly applied from the same pom.}. All other properties are inherited, unless otherwise noted below. -\begin{enumerate} -\item project.parent -\item project.name -\item project.packaging -\item project.profiles -\item project.version -\item project.groupId -\item project.prerequisites -\item project.distributionManagement.relocation -\end{enumerate} - -\subsection{Marking Containers as Final (Or Not Inherited)} -A parent project can set an inherited property within the following elements of the pom. This will mark the container as final, thus preventing inheritance: -\begin{enumerate} -\item project.build.plugins.plugin -\item project.build.plugins.plugin.executions.execution -\item project.build.pluginManagement.plugins.plugin -\item project.build.pluginManagement.plugins.plugin.executions.execution -\item project.profiles.profile.build.plugins.plugin -\item project.profiles.profile.build.plugins.plugin.executions.execution -\item project.profiles.profile.build.pluginManagement.plugins.plugin -\item project.profiles.profile.build.pluginManagement.plugins.plugin.executions.execution -\item project.reporting.plugins.plugin -\item project.reporting.plugins.plugin.reportSets.reportSet -\item project.profiles.profile.reporting.plugins.plugin -\item project.profiles.profile.reporting.plugins.plugin.reportSets.reportSet -\end{enumerate} - -Some examples demonstrating use within the project model: -\begin{verbatim} - - org.apache.maven - sample - 1.0 - false - -\end{verbatim} - -\begin{verbatim} - - org.apache.maven - sample - 1.0 - - - false - - - -\end{verbatim} - -\subsection{Artifact Inheritance (Model Container)} -\subsubsection{Defined Nodes} -Within the project there are a number of nodes which contain artifactId, groupId and version. These nodes may be inherited or joined. -\begin{enumerate} -\item project.dependencies.dependency -\item project.build.plugins.plugin -\item project.build.plugins.plugin.dependencies.dependency -\item project.build.plugins.plugin.dependencies.dependency.exclusions.exclusion -\item project.dependencyManagement.dependencies.dependency -\item project.build.pluginManagement.plugins.plugin -\item project.build.pluginManagement.plugins.plugin.dependencies.dependency -\item project.reporting.plugins.plugin -\item project.build.extensions.extension -\end{enumerate} - -\subsubsection{Rules} -Let the parent project be \begin{math}\mathcal{A}\end{math} and the child project be \begin{math}\mathcal{B}\end{math} . Let both \begin{math}\alpha_i \subset \mathcal{A}\end{math} and \begin{math}\beta_i \subset \mathcal{B}\end{math} be one of the elements listed above. For example, \begin{math}\alpha_1\end{math} would contain all the elements of a project dependency within the parent project. - -Both \begin{math}\alpha_i \subset \mathcal{A}\end{math} and \begin{math}\beta_i \subset \mathcal{A}\end{math}, contain at least the following elements: -\begin{enumerate} -\item project.groupId (required) -\item project.artifactId (required) -\item project.version (default value - null) -\item project.type (default value - jar) -\item project.classifier (default value - null) -\end{enumerate} - -(1-3) may be values referencing project.parent.groupId, project.parent.artifactId, project.parent.version, where they are not explicitly defined. - -More precisely we have: - -\begin{math} \forall_i \forall_j \alpha_i = \{\langle groupId, value_j \rangle_i, \langle artifactId, value_{j+1}\rangle_i, \langle version, value_{j+2}\rangle_i, \ldots\}.\end{math} - -Now define the following rules: - -\begin{enumerate} -\item - \begin{math} R_1 \equiv -groupId(value)^{\alpha_i} = groupId(value)^{\beta_i} \wedge artifactId(value)^{\alpha_i} = artifactId(value)^{\beta_i} \wedge type(value)^{\alpha_i} = type(value)^{\beta_i} \wedge classifier(value)^{\alpha_i} = classifier(value)^{\beta_i} -\end{math} -\item - \begin{math} R_2 \equiv -version(value)^{\alpha_i} = version(value)^{\beta_i} -\end{math} -\end{enumerate} - - -The inheritance rules are JOIN, NOP, and DELETE: - -\begin{enumerate} -\item -\begin{math} -R_1 \wedge R_2 \Rightarrow \mathcal{B}_{new} = \mathcal{B} \cup \alpha_i - (\alpha_i \cap \beta_i) -\end{math} -\item -\begin{math} -\neg R_1\Rightarrow \mathcal{B}_{new} = \mathcal{B} \cup \alpha_i -\end{math} -\item -\begin{math} -R_1 \wedge \neg R_2 \Rightarrow \mathcal{B}_{new} = \mathcal{B} \end{math} -\end{enumerate} - -Note that model container rules are performed after basic sorting and collapsing of the model inheritance. So a NOP operation means that a model container from the parent is left within the model, meaning there is a union of the elements. A delete means that the model container from the parent is removed, leaving the set the same. - -\subsubsection{Default Group IDs} -To maintain backwards compatibility, the following elements are assigned a default groupId of \emph{org.apache.maven.plugins}, if the groupId is not specified. -\begin{enumerate} -\item project.build.plugins.plugin -\item project.profiles.profile.build.plugins.plugin -\item project.build.pluginManagement.plugins.plugin -\item project.build.profiles.profile.pluginManagement.plugins.plugin -\item project.reporting.plugins.plugin -\item project.profiles.profile.reporting.plugins.plugin -\end{enumerate} - -\subsection{Id Inheritance (Model Container)} - -\subsubsection{Defined Nodes} -Within the project there are a number of nodes which contain id. Each of the nodes below is an element of a collection, meaning there may be more than one. The ID is used to determine whether the containers should be joined, rather than just added to the collection.. -\begin{enumerate} -\item project.pluginRepositories.pluginRepository -\item project.repositories.repository -\item project.reporting.plugins.plugin.reportSets.reportSet -\item project.profiles.profile -\item project.build.plugins.plugin.executions.execution -\end{enumerate} - -\subsubsection{Rules} -If an id exists in both the parent and child pom and the ids are equal, then join the nodes, otherwise inherit the node. - -\subsubsection{Plugin Execution ID Rules} -If a Plugin Model Container is joined by ID, the following rules apply: - -\begin{enumerate} -\item Can not have two or more execution elements lacking an ID. -\item If default-execution-id is explicitly defined as the execution id, it is treated as not having an id for purposes of the above rule. -\item Project.Build.Plugins.Plugin.Executions.Execution.Goals is always joined on an execution id match. Duplicate goals are removed. -\end{enumerate} - -The above rules also apply to joining with a pluginManagement node. - -\subsection{Plugin Configuration Inheritance} -Plugin nodes are treated as a set. If a child pom contains the same element as a parent pom, then the parent pom element will not be inherited/joined unless the child element contains a property combine.children="append". In this case, it will treat the element as a collection. - -\begin{verbatim} - - org.apache.maven.plugins - maven-compiler-plugin - - - - **/PersonThreeTest.java - - - - -\end{verbatim} - -If the parent pom contains an element that the child pom does not have, the element will be inherited. - - - -\section{Management Rules} -\subsection{Dependency/Plugin Management} -Dependency and plugin management are treated the same, so we will only cover dependency management. Our initial set has already been processed for inheritance and interpolated by the time these rules are applied. - -Let \begin{math}\mathcal{A}\end{math} be the set of \emph{project.dependencies.dependency} model containers (model containers are themselves sets of model properties). - -Let \begin{math}\mathcal{B}\end{math} be the set of -\emph{project.dependencyManagement.dependencies.dependency }model containers. \begin{math}\mathcal{B}\end{math} is processed such that each dependencyManagement reference within its uris is removed. Thus the uris exactly match those contained within \begin{math}\mathcal{A}\end{math}. Call this transformed set \begin{math} \mathcal{B'}\end{math}. - -Now we can apply the same artifact container rules between each \begin{math} \mathcal{B'}_{i} \end{math} and \begin{math} \mathcal{A}_{j}\end{math}. as those defined in section 3.4. - -\section{Interpolation Rules} -\subsection{Type of Properties} -There are four types of properties in the following order of precedence: maven properties, system (user) properties, project properties, environment (execution) variables. - -\subsubsection{Maven Properties} -There are two maven specific properties that can be used: \$\{basedir\} (or \$\{pom.basedir\} or \$\{project.basedir\}) and \$\{build.timestamp\}. \emph{basedir} denotes the project directory of the executing pom, while\emph{ build.timestamp} denotes the time that the build started. - -\begin{verbatim} - - ${project.basedir}/target - ${project.basedir}/src/main/java - -\end{verbatim} - - -\subsubsection{System Properties} -These properties are defined on the command line through -D option. For instance, \emph{-DjunitVersion=3.8}. These property values take precedence over project and environment properties and will override them. - -\subsubsection{Project Properties} These properties are derived directly from the pom itself: \$\{project.version\}, \$\{project.artifactId\}... So in the code snippet below, \emph{project.build.finalname} will be resolved to\emph{ maven-3.0-SNAPSHOT}. - -Note \emph{pom} is an alias for\emph{ project}, so you can also reference the properties through \$\{pom.version\}, \$\{pom.artifactId\}... , although \emph{project} is preferred. - -These types of properties also include special rules for the \emph{project.properties }section of the pom. The elements under the properties section can directly be referenced, by name, from within other elements of the pom. For example, the \emph{project.properties }section defines \emph{junitVersion}, allowing the -\emph{ project.build.dependencies.dependency.version} to reference the value by inserting \$\{junitVersion\} - -\begin{verbatim} - - org.apache.maven - maven - 3.0-SNAPSHOT - - ${project.artifactId}-${project.version} - - - - junit - junit - ${junitVersion} - test - - - - 3.8.1 - - -\end{verbatim} - -Keep in mind that if you set \emph{-DjunitVersion=3.8} on the command line, then this value would be used for interpolation, not the pom specified one. - -\subsubsection{Environment Properties} -The properties are taken from the environment and hold the lowest level of precedence. - -\subsection{Processing Rules} -The pom XML is flattened to a list of model properties (this is part of the inheritance processing). The interpolator property list will be referred to as interpolator properties. - -\subsubsection{Preprocessing} -The initial interpolator property list is constructed and sorted in order of maven properties, system properties, project properties and environment properties. Being a list, it contains duplicate property keys that may reference different values. A common example occurs when overriding a pom property through the command line -D. So all lower duplicate key values are eliminated, resulting in a set of interpolator properties, where order does not matter. - -The maven property \$\{project.basedir\} is only added to the initial list if the pom being interpolated is within the build (not a dependency within the repository). - -\subsubsection{Pass 1 -withhold using build directories as interpolator properties} In this pass, the list is preprocessed into a set, but excludes any of the build directories from the interpolator list. In other words, the build directories can be interpolated but they can't be used to interpolate other properties. Interpolating is simply the iteration of all interpolator properties over model properties. - -\subsubsection{Pass 2 - set absolute paths on build directories} At this point, the build directories are completely interpolated but they may or may not contain absolute paths. So each build model property is checked and if it contains a relative path, the absolute path is set based on the \$\{project.basedir\} location. - -\subsubsection{Pass 3- use build directories as interpolator properties} In this pass, all model properties that contain a build directory reference are interpolated with the build directory interpolator properties, which were withheld from pass 1. Now all directory paths within the pom contain absolute references. - -\subsection{Interpolation and Profiles} -Active profiles are applied prior to interpolation so that any \emph{project.profiles.profile.properties} defined within an active profile can be used as an interpolation property [Still to be implemented] - -\section{Profiles} -Profiles allow the developer to conditionally add project information to the project model. Each profile has an activation property, with an associated matcher. - -We have the following five matchers: -\begin{enumerate} -\item Default - allows to specify a profile that will be active (provided no other profiles are matched) -\item File - allows matching of profile based on the existence or nonexistence of a file -\item JDK - allows matching profile based on JDK -\item Operating System - allows matching profile based on operating system -\item Property - allows matching profile based a user or environmental variable -\end{enumerate} - -\subsection{Default Profile Matcher} -Occurs if -project/profiles/profile/activation/activeByDefault -exists in the profile. If no other profiles are matched this one will be used. - -\subsection{File} -This matcher will check for the existence (or nonexistence) of files. If -\begin{itemize} -\item project/profiles/profile/activation/file/missing does not exist or -\item project/profiles/profile/activation/file/exists, -\end{itemize} - -the profile will activate. - -\subsection{JDK} -This matcher will check if project/profiles/profile/activation/jdk value matches the current JDK version in use for the build. - -\section{Model Container Operations} -\subsection{Definitions} -\begin{description} -\item[Mode Container Rule] Rule that determines whether the model properties between sets \begin{math} \mathcal{A}\end{math} and \begin{math} \mathcal{B}\end{math} match. -\item[M-Operator] Model Container Operator - an operation on Rules. The result of the M-Operator is a set operation. Each resulting set of an M-Operator has to be equal to the resulting set of another M-Operator defined within the system. -\end{description} -\subsection{M-Operators} -\subsubsection{Definitions} -The Maven system defines the following operators: -\begin{description} -\item[JOIN] M($\mathnormal{\mathcal{R}_{1},\mathcal{R}_{2} ) = \gamma - (\alpha_i \cap \beta_i)}$ -\item[NOP] M($\mathnormal{\neg \mathcal{R}_{1}, \mathcal{R}_{2}) = \gamma} $ -\item[DELETE] M($\mathnormal{\mathcal{R}_{1}, \neg \mathcal{R}_{2}) = \gamma -\alpha_i} $ -\end{description} -Note that $\mathnormal{\gamma=\mathcal{B}\cup \alpha_i}$. This is the set that results after basic sorting and inheritance have been applied to the models. - -There are some interesting properties of the above definitions. For example, a JOIN is equivalent to a NOP when the intersection of the model containers is null, or a JOIN is equivalent to a DELETE if there is no child model container. - -Also these definitions allow us to clearly see how to undo an operation. For example, say we did a DELETE and now we want to revert the operation. We merely need to add back in the properties of the parent model container, giving us a NOP. To revert a JOIN, we add back in the intersection of the parent and child model containers. - -\subsubsection{Negation} -Define negation on the operators as: -\begin{enumerate} -\item $\mathnormal{\neg M(\mathcal{R}_{1},\mathcal{R}_{2} ) =M(\mathcal{R}_{1},\neg \mathcal{R}_{2} ) }$ -\item $\mathnormal{\neg M(\neg \mathcal{R}_{1},\mathcal{R}_{2} ) =M(\neg \mathcal{R}_{1}, \mathcal{R}_{2} ) }$ -\item $\mathnormal{\neg M(\mathcal{R}_{1}, \neg \mathcal{R}_{2}) = M(\mathcal{R}_{1},\mathcal{R}_{2} )} $ -\end{enumerate} -Negation of a JOIN is a DELETE, negation of a NOP is a NOP, negation of a DELETE is a JOIN. To understand the mechanics of negation, we need to look at the underlying set operations. - -Take (3), where we negate a DELETE. Since we have defined a negation of a DELETE as a JOIN, the set operations for a negation would be to add in elements of the parent model container and then to remove the intersection of the child and parent model containers. -\subsubsection{Addition} -Define addition operators as: -\begin{description} -\item[Sum of JOINs] $\mathnormal{\sum_{i=1}^n \sum_{j=1}^m M(\mathcal{R}^{\alpha_{i} , \beta_{j}}_{1},\mathcal{R}^{\alpha_{i} , \beta_{j}}_{2} ) }$ -\item[Sum of NOPs] $\mathnormal{\sum_{i=1}^n \sum_{j=1}^m M(\neg \mathcal{R}^{\alpha_{i} , \beta_{j}}_{1},\mathcal{R}^{\alpha_{i} , \beta_{j}}_{2} ) }$ -\item[Sum of DELETEs] $\mathnormal{\sum_{i=1}^n \sum_{j=1}^m M(\mathcal{R}^{\alpha_{i} , \beta_{j}}_{1},\neg \mathcal{R}^{\alpha_{i} , \beta_{j}}_{2} ) }$ -\end{description} - -Take the case of Sum of Joins. Let i = 1, meaning there is only one parent model container. Then we have: - -\begin{eqnarray} -\sum_{i=1}^n \sum_{j=1}^m M(\mathcal{R}^{\alpha_{i} , \beta_{j}}_{1},\mathcal{R}^{\alpha_{i} , \beta_{j}}_{2} ) & = & -\sum_{j=1}^m M(\mathcal{R}^{\alpha_{1} , \beta_{j}}_{1},\mathcal{R}^{\alpha_{1} , \beta_{j}}_{2} ) \\ -& = & -\mathcal{B} \cup \alpha_{1}-(\alpha_{1} \cap \beta_{1}) - (\alpha_{1} \cap \beta_{2}) - \cdots - (\alpha_{1} \cap \beta_{m}) \\ & = & -\mathcal{B} \cup \alpha_{1}-(\alpha_{1} \cap (\beta_{1} \cup \beta_{2} \cup \cdots \cup \beta_{m}) -\end{eqnarray} - -So we simplify the operation to just adding the parent model container to the child model, and then removing the intersection between that parent model container and the union of all child model container. Thus we can simply the calculation for multiple joins, allowing more efficient processing on the underlying data model. - -\appendix -\section{Definitions} -\begin{description} -\item[Collection] Any model property with a URI ending in \#collection -\item[Canonical Data Format] A set of model properties including all possible elements of the Maven model -\item[Delete] Delete Model Container Action. Processing this rule on a model container will delete it's model properties from a model data source. -\item[Element] A model property -\item[Interpolation] -\item[Join] Join Model Container Action. Processing this rule on a model container will join it's model properties with another container's model properties. -\item[Mixin] An abstract model which needn't contain all the required elements of the model. -\item[Model Container] A container for a set of Model Properties associated with a specific URI. -\item[Model Container Action] One of the following actions: delete, join, nop that may be performed on a Model Container. -\item[Model Data Source] A class that provides operations for deleting, joining and querying Model Containers. -\item[Model Property] A property of the model that consists of a URI and a value, which may be null. -\item[Model Transformer] A class that is responsible for transforming from a model format to the -canonical data model. It can also optionally perform various domain specific rules and processing. -\item[Node] A model container -\item[NOP] No operation Model Container Action. Processing this rule on a model container will leave the model properties of the model container untouched. -\item[Profile] - Project information added the project model based on a Profile ActivationProperty -\item[Profile Activation Property] - Property that a developer can specify that triggers the applying of a profile to it's containing project model. -\item[Set] Any model property with a URI ending in \#set -\end{description} - -\end{document} \ No newline at end of file diff --git a/rules.txt b/rules.txt deleted file mode 100644 index dafcfe48c7..0000000000 --- a/rules.txt +++ /dev/null @@ -1,2 +0,0 @@ -Mirrors defined in settings: -Mirror lookup should always use first declaration, regardless whether exact id match or wildcard match