[ https://issues.apache.org/jira/browse/NPANDAY-499?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lars Corneliussen updated NPANDAY-499: -------------------------------------- Description: Currently all configuration for compiler-plugins and executable-plugins are located centrally in {{dotnet-core/main/resources/META-INF/npanday/*.xml}}. h3. Design * (/) Plugins should be able to contribute their own configurations (for example: the test-plugin should specify where to find nunit; currently it is specified in dotnet-core) * Mojos should accept additional configurations as parameters (if probingPaths do not match, or a new version has not yet made it into NPanday) h3. Location of the right executable * Use 'identifier' instead of 'profile' for locating the correct executable-plugin. * Enable version ranges for matching of versions in executables and compilers for vendorVersion, frameworkVersion and executableVersion(to come) {{[1.1,)}] or {{[2.0,3.0)}} * (/) It should be possible to configure executableVersion additionally to vendorVersion and frameworkVersion (for example in order to locate path's for Azure Tools 1.6 specifically, but only when on MICROSOFT 4.0+ and Windows. h3. Path detection * (/) Enable filtering in configuration files, supporting Windows Registry, Environment Variables and (!) project properties h3. Naming and overall structure * (/) (A) Mojo comes with *Requirement and *Config, (B) Repository delivers *Capability which is based on *Plugins; Then we try to match (A) with (B). * Rebrand 'plugin' to 'capability-configuration', hence CompilerExecutableCapabilityConfiguration (?) * Join executable-plugins and compiler-plugins into one model (MDO + base classes for Capability * distinguish three types of executables: ** *VendorExecutable* (is provided by the framework vendor ** *CompilerExecutable* (is also provided by the framwork vendor, but has some extra requirements/capabilities ** *ThirdpartyExecutable* (is provided by a third party, hence neither NPanday nor the vendor) was: Currently all configuration for compiler-plugins and executable-plugins are located centrally in {{dotnet-core/main/resources/META-INF/npanday/*.xml}}. 1) (/) The configuration should be split up into multiple files 2) (/) Plugins should be able to contribute their own configurations (for example: the test-plugin should specify where to find nunit; currently it is specified in dotnet-core) 3) It should be possible to configure executableVersion additionally to vendorVersion and frameworkVersion (for example in order to locate path's for Azure Tools 1.6 specifically, but only when on MICROSOFT 4.0+ and Windows. 4) (/) Enable filtering in configuration files, supporting Windows Registry, Environment Variables and (!) project properties 5) Enable version ranges for matching of versions in executables and compilers for vendorVersion, frameworkVersion and executableVersion(to come) {{[1.1,)}] or {{[2.0,3.0)}} 6) Rename 'plugin' to configuration for executable-plugins and compiler-plugins 7) Use 'identifier' instead of 'profile' for locating the correct executable-plugin. 8) Join executable-plugins and compiler-plugins into one model (the latter extending the latter) 9) Replace MutableCompilerConfiguration and MutableExectuableConfiguration with compositions based on configurations / are pojos instructed from the outside now 10) .. > Make configuration for compiler-plugins and executable-plugins more flexible > ---------------------------------------------------------------------------- > > Key: NPANDAY-499 > URL: https://issues.apache.org/jira/browse/NPANDAY-499 > Project: NPanday > Issue Type: Improvement > Components: Maven Plugins > Reporter: Lars Corneliussen > Assignee: Lars Corneliussen > Fix For: 1.5.0-incubating > > > Currently all configuration for compiler-plugins and executable-plugins are > located centrally in {{dotnet-core/main/resources/META-INF/npanday/*.xml}}. > h3. Design > * (/) Plugins should be able to contribute their own configurations > (for example: the test-plugin should specify where to find nunit; currently > it is specified in dotnet-core) > * Mojos should accept additional configurations as parameters (if > probingPaths do not match, or a new version has not yet made it into NPanday) > h3. Location of the right executable > * Use 'identifier' instead of 'profile' for locating the correct > executable-plugin. > * Enable version ranges for matching of versions in executables and compilers > for vendorVersion, frameworkVersion and executableVersion(to come) {{[1.1,)}] > or {{[2.0,3.0)}} > * (/) It should be possible to configure executableVersion additionally to > vendorVersion and frameworkVersion (for example in order to locate path's for > Azure Tools 1.6 specifically, but only when on MICROSOFT 4.0+ and Windows. > h3. Path detection > * (/) Enable filtering in configuration files, supporting Windows Registry, > Environment Variables and (!) project properties > h3. Naming and overall structure > * (/) (A) Mojo comes with *Requirement and *Config, (B) Repository delivers > *Capability which is based on *Plugins; Then we try to match (A) with (B). > * Rebrand 'plugin' to 'capability-configuration', hence > CompilerExecutableCapabilityConfiguration (?) > * Join executable-plugins and compiler-plugins into one model (MDO + base > classes for Capability > * distinguish three types of executables: > ** *VendorExecutable* (is provided by the framework vendor > ** *CompilerExecutable* (is also provided by the framwork vendor, but has > some extra requirements/capabilities > ** *ThirdpartyExecutable* (is provided by a third party, hence neither > NPanday nor the vendor) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira