[ 
https://issues.apache.org/jira/browse/METRON-777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16069040#comment-16069040
 ] 

ASF GitHub Bot commented on METRON-777:
---------------------------------------

Github user mmiklavc commented on the issue:

    https://github.com/apache/metron/pull/530
  
    @ottobackwards removing the extra project element allows me to build the 
project now. However, I'm still unable to use the archetype. It neither shows 
up in the local catalog listing nor allows me to enter the info directly. It 
fails in both cases, even though the archetype is now appearing in 
`~/.m2/repository/archetype-catalog.xml`. Per the Maven docs for the archetype 
plugin, the entries should be in `~/.m2/archetype-catalog.xml`. - 
https://maven.apache.org/archetype/maven-archetype-plugin/specification/archetype-catalog.html.
    
    The only thing I could do to get this working was to explicitly update the 
local catalog with the archetype plugin, which doesn't make any sense to me 
seeing as this is by default tied to the install goal in the first place.
    
    There are 2 archetype-catalog.xml files locally with Maven and I'm unclear 
as to why. The only difference appears to be that 1) only 
~/.m2/archetype-catalog.xml entries show up when you run `mvn 
archetype:generate -DarchetypeCatalog=local` and 2) non-SNAPSHOT entries end up 
in `~/.m2/archetype-catalog.xml` whereas SNAPSHOT entries end up in 
`~/.m2/repository/archetype-catalog.xml`.
    
    ```
    cat ~/.m2/repository/archetype-catalog.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <archetype-catalog 
xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0
 http://maven.apache.org/xsd/archetype-catalog-1.0.0.xsd";
        
xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
      <archetypes>
        <archetype>
          <groupId>org.apache.metron</groupId>
          <artifactId>metron-maven-parser-extension-archetype</artifactId>
          <version>0.4.0</version>
          <description>Apache Maven Parser Extension Archetype for 
Metron</description>
        </archetype>
      </archetypes>
    </archetype-catalog>
    ```
    When I run `mvn archetype:update-local-catalog` the entry appears in 
~/.m2/archetype-catalog.xml. If I delete the entry and re-run that command, the 
entry reappears. Now when I run the archetype:generate command, the Metron 
archetype appears as expected. Is anyone else seeing this behavior? This does 
not happen for me when I install and attempt to use other archetypes, e.g. 
https://github.com/mmiklavc/hadoop-bootstrap-archetype 
    
    Here's the output, as desired, after the archetype is added to the correct 
archetype-catalog.xml
    
    ```
    [INFO] No archetype defined. Using maven-archetype-quickstart 
(org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
    Choose archetype:
    ...
    4: local -> com.michaelmiklavcic:hadoop-bootstrap-archetype (Archetype - 
hadoop-bootstrap-archetype)
    5: local -> org.apache.metron:metron-maven-archetypes (Apache Maven 
Archetypes for Metron)
    ```


> Create a plugin system for Metron based on 'NAR'
> ------------------------------------------------
>
>                 Key: METRON-777
>                 URL: https://issues.apache.org/jira/browse/METRON-777
>             Project: Metron
>          Issue Type: New Feature
>            Reporter: Otto Fowler
>            Assignee: Otto Fowler
>
> The success of the Metron project will be greatly dependent on community 
> participation, and with that the ability to adapt and extend Metron without 
> having to maintain a fork of the project.
> As organizations and individuals look to extend the Metron system with custom 
> parsers, enrichments, and stellar functions that may be proprietary in 
> nature, the ability to develop and deploy these extensions outside the Metron 
> code base is critically important.
> To that end, and after community discussion and proposal we create or 
> formalize the 'plugin' development story in Metron.  
> The proposal is to adapt the Apache Nifi NAR system for use in Metron.  This 
> will provide the system with:
> * archetype(s) for developer projects and independent development
> * defined packaging and metadata for 'plugin' products
> * loading and instantiation with classloader isolation capabilities
> * removing the necessity for shading plugin jars
> These capabilities will also enable other features, such as plugin lifecycle, 
> plugin configuration+redeployment, and other things.
> The plugin archetypes and their installation will be a followon



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to