Author: sisbell Date: Mon Jan 28 10:38:41 2008 New Revision: 615983 URL: http://svn.apache.org/viewvc?rev=615983&view=rev Log: Initial prototype of the interfaces for a dotnet toolchain.
Added: incubator/nmaven/trunk/components/maven-dotnet-toolchain/ incubator/nmaven/trunk/components/maven-dotnet-toolchain/pom.xml (with props) incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/ incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/ incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/ incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/ incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/ incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/ incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/ incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/ incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/DotnetToolchain.java (with props) incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/ProgrammingLanguageMatchPolicy.java (with props) incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/Toolchain.java (with props) incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/ToolchainContext.java (with props) incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/ToolchainMatchPolicy.java (with props) incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/VendorMatchPolicy.java (with props) Added: incubator/nmaven/trunk/components/maven-dotnet-toolchain/pom.xml URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/maven-dotnet-toolchain/pom.xml?rev=615983&view=auto ============================================================================== --- incubator/nmaven/trunk/components/maven-dotnet-toolchain/pom.xml (added) +++ incubator/nmaven/trunk/components/maven-dotnet-toolchain/pom.xml Mon Jan 28 10:38:41 2008 @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> +<project xmlns: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"> + <parent> + <groupId>org.apache.maven.dotnet</groupId> + <version>0.15-incubating-SNAPSHOT</version> + <artifactId>maven-dotnet-components</artifactId> + </parent> + <modelVersion>4.0.0</modelVersion> + <groupId>org.apache.maven.dotnet</groupId> + <artifactId>maven-dotnet-toolchain</artifactId> + <name>maven-dotnet-toolchain</name> + <description>NMaven</description> + <dependencies> + </dependencies> +</project> Propchange: incubator/nmaven/trunk/components/maven-dotnet-toolchain/pom.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/DotnetToolchain.java URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/DotnetToolchain.java?rev=615983&view=auto ============================================================================== --- incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/DotnetToolchain.java (added) +++ incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/DotnetToolchain.java Mon Jan 28 10:38:41 2008 @@ -0,0 +1,24 @@ +package org.apache.maven.dotnet.toolchain; + +import org.apache.maven.toolchain.model.ToolchainModel; +import org.apache.maven.dotnet.Vendor; +import org.apache.maven.dotnet.ProgrammingLanguage; + +public class DotnetToolchain implements Toolchain +{ + private Vendor vendor; + + public ToolchainModel getToolchainModel() + { + return null; + } + + public Vendor getVendor(){ + return vendor; + } + + public ProgrammingLanguage getProgrammingLanguage() + { + return null; + } +} Propchange: incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/DotnetToolchain.java ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/ProgrammingLanguageMatchPolicy.java URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/ProgrammingLanguageMatchPolicy.java?rev=615983&view=auto ============================================================================== --- incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/ProgrammingLanguageMatchPolicy.java (added) +++ incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/ProgrammingLanguageMatchPolicy.java Mon Jan 28 10:38:41 2008 @@ -0,0 +1,19 @@ +package org.apache.maven.dotnet.toolchain; + +import org.apache.maven.dotnet.ProgrammingLanguage; + +public class ProgrammingLanguageMatchPolicy + implements ToolchainMatchPolicy +{ + private ProgrammingLanguage programmingLanguage; + + public ProgrammingLanguageMatchPolicy( ProgrammingLanguage programmingLanguage ) + { + this.programmingLanguage = programmingLanguage; + } + + public boolean match( Toolchain toolchain ) + { + return false; + } +} Propchange: incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/ProgrammingLanguageMatchPolicy.java ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/Toolchain.java URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/Toolchain.java?rev=615983&view=auto ============================================================================== --- incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/Toolchain.java (added) +++ incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/Toolchain.java Mon Jan 28 10:38:41 2008 @@ -0,0 +1,8 @@ +package org.apache.maven.dotnet.toolchain; + +import org.apache.maven.toolchain.model.ToolchainModel; + +public interface Toolchain +{ + ToolchainModel getToolchainModel(); +} Propchange: incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/Toolchain.java ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/ToolchainContext.java URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/ToolchainContext.java?rev=615983&view=auto ============================================================================== --- incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/ToolchainContext.java (added) +++ incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/ToolchainContext.java Mon Jan 28 10:38:41 2008 @@ -0,0 +1,19 @@ +package org.apache.maven.dotnet.toolchain; + +import java.util.Collection; +import java.util.List; +import java.util.ArrayList; + +public class ToolchainContext +{ + Collection<Toolchain> getToolchainsFor(Collection<ToolchainMatchPolicy> toolchainMatchPolicies) + { + //get list of toolchain models + //convert list of models into platform specific type + //match list of types to policies + //return list of matches + + List<Toolchain> toolchains = new ArrayList<Toolchain>(); + return toolchains; + } +} Propchange: incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/ToolchainContext.java ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/ToolchainMatchPolicy.java URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/ToolchainMatchPolicy.java?rev=615983&view=auto ============================================================================== --- incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/ToolchainMatchPolicy.java (added) +++ incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/ToolchainMatchPolicy.java Mon Jan 28 10:38:41 2008 @@ -0,0 +1,6 @@ +package org.apache.maven.dotnet.toolchain; + +public interface ToolchainMatchPolicy +{ + boolean match( Toolchain toolchain ); +} Propchange: incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/ToolchainMatchPolicy.java ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/VendorMatchPolicy.java URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/VendorMatchPolicy.java?rev=615983&view=auto ============================================================================== --- incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/VendorMatchPolicy.java (added) +++ incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/VendorMatchPolicy.java Mon Jan 28 10:38:41 2008 @@ -0,0 +1,25 @@ +package org.apache.maven.dotnet.toolchain; + +import org.apache.maven.dotnet.Vendor; + +public class VendorMatchPolicy + implements ToolchainMatchPolicy +{ + private Vendor vendor; + + public VendorMatchPolicy( Vendor vendor ) + { + this.vendor = vendor; + } + + public boolean match( Toolchain toolchain ) + { + if ( toolchain == null || ! ( toolchain instanceof DotnetToolchain ) ) + { + throw new IllegalArgumentException( "toolchain" ); + } + + DotnetToolchain dotnetToolchain = (DotnetToolchain) toolchain; + return vendor.equals(dotnetToolchain.getVendor()); + } +} Propchange: incubator/nmaven/trunk/components/maven-dotnet-toolchain/src/main/java/org/apache/maven/dotnet/toolchain/VendorMatchPolicy.java ------------------------------------------------------------------------------ svn:eol-style = native