MavenPlan69

(Difference between revisions)
(EXTRA TASKS FOR RCP SUPPORT)
(EXTRA TASKS FOR RCP SUPPORT)
 
(24 intermediate revisions not shown)
Line 3: Line 3:
==GENERAL OSGI SUPPORT W/ MAVEN==
==GENERAL OSGI SUPPORT W/ MAVEN==
-
* m1 2d - custom OSGi prj archetype for R4.x OSGi standard - '''mkleint'''
+
* '''done m1''' - custom OSGi prj archetype for R4.x OSGi standard - '''mkleint'''
-
** publish on apache felix maven repo?
+
** published on codehouse
-
** fallback to publish on codehouse
+
* m1/m2 - UI for felix bundle plugin properties and for OSGi bundle metadata - '''dafe'''
-
* m1 - UI for felix bundle plugin properties and for OSGi bundle metadata - '''dafe'''
+
** '''done m2''' declaration of pub/priv packages
-
** declaration of pub/priv packages
+
** declaration of shipping deps - no really usable UI possible in given time frame -> out of scope
-
** declaration of shipping deps
+
** maybe m2 - runtime configuration (how the assembled app looks)
-
** maybe also runtime configuration (how the assembled app looks)
+
* filetemplates in IDE - '''mkleint'''
-
* '''done m1''' 2d - filetemplates in IDE (e.g. for bundle activator) - '''mkleint'''
+
**  '''done m1''' - for bundle activator
-
* m1 - other OSGi bundle props via POM editor - '''dafe'''
+
** maybe m2 - more templates? (e.g. [http://sinati.com/blog/2010/glassfish/building-osgi-declarative-service-maven-using-netbeans])
 +
* '''done m1''' - maven OSGi bundle project icon - '''xdesign''', '''mkleint'''
 +
* '''done m2''' - other OSGi bundle props via POM editor? - '''dafe'''
** top-level properties which enumerate as simple data types are handled by code-completion automatically
** top-level properties which enumerate as simple data types are handled by code-completion automatically
** properties of object type need special handling - figure out if we want to support some for felix bundle plugin  
** properties of object type need special handling - figure out if we want to support some for felix bundle plugin  
-
* what is Run action on bundle? - '''jtulach'''
+
* '''done m1''' - Run action on bundle - '''jtulach'''
-
* Test action?, Debug?, Profile? - '''jtulach'''
+
* '''done m1''' - Debug action on bundle - '''jtulach'''
 +
* m2 - Profile action on bundle - '''mkleint'''
-
* m1 - 4 new archetypes into top-level Maven category in NewPrj wzrd - '''dafe'''
+
* '''done''' m1 - 4 new archetypes into top-level Maven category in NewPrj wzrd - '''dafe'''
==EXTRA TASKS FOR RCP SUPPORT==
==EXTRA TASKS FOR RCP SUPPORT==
-
* m1 - three archetypes:
+
* '''done m1''' - three archetypes:
-
** one additional "nbm" prj archetype for modules depending on OSGi bundles - '''mkleint'''
+
** '''done''' - one additional "nbm" prj archetype for modules depending on OSGi bundles - '''mkleint'''
 +
*** '''m2''' - to be changed into an option of the "nbm" module project (http://netbeans.org/bugzilla/show_bug.cgi?id=181366)
** '''done''' - legacy "nbm" prj archetype for modules not depending on OSGi bundles  
** '''done''' - legacy "nbm" prj archetype for modules not depending on OSGi bundles  
** '''done''' - "nbm-application" prj archetype
** '''done''' - "nbm-application" prj archetype
-
* m1 - nbm-maven plugin changes (additions) - '''mkleint'''
+
** '''in m2 - needs to be released as non-snapshots, without relying on snasphot plugins and dependencies'''
 +
** '''in m2''' - new Module Suite prj archetype
 +
 
 +
* '''done''' - m1 - nbm-maven plugin changes (additions) - '''mkleint'''
** manifest generation for "nbm"
** manifest generation for "nbm"
** runtime CP verification for "nbm"
** runtime CP verification for "nbm"
Line 31: Line 38:
** zip creation step of "nbm-application"
** zip creation step of "nbm-application"
** generation of netbeans metadata for OSGi bundles at build time
** generation of netbeans metadata for OSGi bundles at build time
-
* P1 for RE - build&publish mavenized nbm artifacts to a public maven
+
** '''m2''' update catalog generation - see http://netbeans.org/bugzilla/show_bug.cgi?id=181025
-
repo (e.g. bits.nb.org/maven2 in the case of Beta/RCx/FCS bits) with
+
 
-
release (NOT AFTER!) - need to be resolved somehow also for dailies
+
* '''P1''' for RE - build&publish mavenized nbm artifacts to a public maven repo (e.g. bits.nb.org/maven2 in the case of Beta/RCx/FCS bits) with release (NOT AFTER!) - need to be resolved somehow also for dailies
-
* ''Q to be resolved - packaging bundles inside versus as an external
+
*** '''done m1''' - daily builds repo
-
dependency - to be resolved for 6.9 versus older platforms as platforms
+
*** m2 - repo for Beta and Final
-
user is depending on''
+
* ''Q to be resolved - packaging bundles inside versus as an external dependency - to be resolved for 6.9 versus older platforms as platforms user is depending on''
 +
 
 +
* Release of all maven related pieces for RCP and IDE - [[MavenReleaseRCPHowto]]
==POLISHING GENERAL MAVEN FOR RCP APP SUPPORT==
==POLISHING GENERAL MAVEN FOR RCP APP SUPPORT==
-
* annotation processing
+
* '''m2''' - split maven.samples module into two (one with JavaSE deps only) - see https://netbeans.org/bugzilla/show_bug.cgi?id=181250
-
* branding supp
+
* '''P1''' - annotation processing - '''mkleint'''
-
* various UI tweaks and additions:
+
** DONE in m1 - by fixing http://jira.codehaus.org/browse/MCOMPILER-98 and including the snapshots with the issues fixed in the netbeans platform archetype. Once the fix gets into a released version of compiler plugin, we can remove the archetype workaround
-
** add module dep dialog checkbox to exclude non-netbeans artifacts
+
** m2 - fixing maven compiler plugin for annotations generating sources and annotations referring to resources in bundles
-
*...
+
* m2 - various UI tweaks and additions - '''dafe'''
-
* bugfixes...
+
** '''done''' add module dep dialog checkbox to exclude non-netbeans artifacts
 +
** '''done''' pub/priv packages dialog (the same one as in general osgi bundle support, but writing the metadata in a different place)
 +
** ...
 +
* m2 - branding supp - '''mkleint'''
 +
** nbm-maven plugin goal with correct properties (similar as already visible in NBM Application archetype)
 +
** UI for switching on branding for a module
 +
** UI for the branding as in Ant APIsupport project
 +
* see also notes under [[ApisupportMaven69]]
----
----

Current revision as of 08:47, 29 March 2010

Contents

Maven plan for NetBeans 6.9

GENERAL OSGI SUPPORT W/ MAVEN

  • done m1 - custom OSGi prj archetype for R4.x OSGi standard - mkleint
    • published on codehouse
  • m1/m2 - UI for felix bundle plugin properties and for OSGi bundle metadata - dafe
    • done m2 declaration of pub/priv packages
    • declaration of shipping deps - no really usable UI possible in given time frame -> out of scope
    • maybe m2 - runtime configuration (how the assembled app looks)
  • filetemplates in IDE - mkleint
    • done m1 - for bundle activator
    • maybe m2 - more templates? (e.g. [1])
  • done m1 - maven OSGi bundle project icon - xdesign, mkleint
  • done m2 - other OSGi bundle props via POM editor? - dafe
    • top-level properties which enumerate as simple data types are handled by code-completion automatically
    • properties of object type need special handling - figure out if we want to support some for felix bundle plugin
  • done m1 - Run action on bundle - jtulach
  • done m1 - Debug action on bundle - jtulach
  • m2 - Profile action on bundle - mkleint
  • done m1 - 4 new archetypes into top-level Maven category in NewPrj wzrd - dafe

EXTRA TASKS FOR RCP SUPPORT

  • done m1 - three archetypes:
    • done - one additional "nbm" prj archetype for modules depending on OSGi bundles - mkleint
    • done - legacy "nbm" prj archetype for modules not depending on OSGi bundles
    • done - "nbm-application" prj archetype
    • in m2 - needs to be released as non-snapshots, without relying on snasphot plugins and dependencies
    • in m2 - new Module Suite prj archetype
  • done - m1 - nbm-maven plugin changes (additions) - mkleint
    • manifest generation for "nbm"
    • runtime CP verification for "nbm"
    • packaging step of "nbm"
    • zip creation step of "nbm-application"
    • generation of netbeans metadata for OSGi bundles at build time
    • m2 update catalog generation - see http://netbeans.org/bugzilla/show_bug.cgi?id=181025
  • P1 for RE - build&publish mavenized nbm artifacts to a public maven repo (e.g. bits.nb.org/maven2 in the case of Beta/RCx/FCS bits) with release (NOT AFTER!) - need to be resolved somehow also for dailies
      • done m1 - daily builds repo
      • m2 - repo for Beta and Final
  • Q to be resolved - packaging bundles inside versus as an external dependency - to be resolved for 6.9 versus older platforms as platforms user is depending on

POLISHING GENERAL MAVEN FOR RCP APP SUPPORT

  • m2 - split maven.samples module into two (one with JavaSE deps only) - see https://netbeans.org/bugzilla/show_bug.cgi?id=181250
  • P1 - annotation processing - mkleint
    • DONE in m1 - by fixing http://jira.codehaus.org/browse/MCOMPILER-98 and including the snapshots with the issues fixed in the netbeans platform archetype. Once the fix gets into a released version of compiler plugin, we can remove the archetype workaround
    • m2 - fixing maven compiler plugin for annotations generating sources and annotations referring to resources in bundles
  • m2 - various UI tweaks and additions - dafe
    • done add module dep dialog checkbox to exclude non-netbeans artifacts
    • done pub/priv packages dialog (the same one as in general osgi bundle support, but writing the metadata in a different place)
    • ...
  • m2 - branding supp - mkleint
    • nbm-maven plugin goal with correct properties (similar as already visible in NBM Application archetype)
    • UI for switching on branding for a module
    • UI for the branding as in Ant APIsupport project
  • see also notes under ApisupportMaven69

Maven 3 support

  • in parallel with 6.9 if time allows
  • rewrite project support to use Maven 3

Code generators

  • out of scope
  • enrich "Insert Code" for pom.xml, allow generate scala support, webstart support, osgi bundles, self executable jar etc. (project code generators now exists on Kenai, need to move to nb distro along with scala when possible)

Assembly & release support

  • out of scope
  • assembly plugin support, simple creation of self-contained executable jar
  • UI for release plugin
  • webstart support

Connected developer

  • out of scope
  • integration with bugtracking UI - use bug tracking system type and URL from Maven POM
  • integration with hudson module (initial state already in 6.7) - configure hudson plugins based on maven plugin configuration -
  • more integration with CI - propagate the results of hudson builds back to the UI (test coverage, pmd, findbugs, ...)

UI - Artifact Viewer

Code coverage/quality

  • out of scope
  • allow code coverage integration to work with maven based projects
  • reuse the maven plugin (cobertura,clover,emma) configuration in the IDE
  • interaction with Sonar servers, see some hints about Sonar API

Other

  • out of scope
  • custom UI for renaming, deleting, copying and moving Maven projects
  • webservices designer from ant projects to work in maven
  • migration support from Ant to Maven
  • global (re)definition of action mappings (e.g. run) - #162764 - important for features we don't directly support and for making global changes according to user preferences (skip test execution on Build, perform a clean before running Test etc)
  • Turns out to be more complex than anticipated. In general the decision process (what definition gets used) gets more complicated and unclear to the user. Especially for cases with IDE settings changed from one version to another.

LINKS

For reference: MavenPlan68

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo