MavenPlan69

(Difference between revisions)
(EXTRA TASKS FOR RCP SUPPORT)
 
(33 intermediate revisions not shown)
Line 1: Line 1:
-
= Maven plan for next release (6.9?) DRAFT =
+
=Maven plan for NetBeans 6.9=
-
+
 
-
___TOC___
+
==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. [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
 +
** 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'''
 +
*** '''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''' - "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''
 +
 
 +
* Release of all maven related pieces for RCP and IDE - [[MavenReleaseRCPHowto]]
 +
 
 +
==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==
==Maven 3 support==
 +
* '''in parallel with 6.9 if time allows'''
* rewrite project support to use Maven 3
* rewrite project support to use Maven 3
 +
:* [http://cwiki.apache.org/confluence/display/MAVEN/Maven+3.x+Compatibility+Notes Maven 3.x Compatibility Notes]
 +
 +
==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==
==Assembly & release support==
 +
* '''out of scope'''
* assembly plugin support, simple creation of self-contained executable jar
* assembly plugin support, simple creation of self-contained executable jar
* UI for release plugin
* UI for release plugin
Line 15: Line 85:
==Connected developer==
==Connected developer==
 +
* '''out of scope'''
* integration with bugtracking UI - use bug tracking system type and URL from Maven POM
* 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 -
* 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, ...)
* more integration with CI - propagate the results of hudson builds back to the UI (test coverage, pmd, findbugs, ...)
-
 
-
==Code generators==
 
-
 
-
* 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)
 
==UI - Artifact Viewer==
==UI - Artifact Viewer==
 +
* '''out of scope'''
* rearrange description parts - http://www.netbeans.org/issues/show_bug.cgi?id=164973
* rearrange description parts - http://www.netbeans.org/issues/show_bug.cgi?id=164973
* improve graphs layout (e.g. tree layout without gaps)
* improve graphs layout (e.g. tree layout without gaps)
Line 31: Line 99:
==Code coverage/quality==
==Code coverage/quality==
 +
* '''out of scope'''
* allow code coverage integration to work with maven based projects
* allow code coverage integration to work with maven based projects
* reuse the maven plugin (cobertura,clover,emma) configuration in the IDE
* reuse the maven plugin (cobertura,clover,emma) configuration in the IDE
Line 36: Line 105:
==Other==
==Other==
 +
 +
* '''out of scope'''
* custom UI for renaming, deleting, copying and moving Maven projects
* custom UI for renaming, deleting, copying and moving Maven projects
-
* webservices designer from ant projects to work in maven ('''mkuchtiak''')
+
* webservices designer from ant projects to work in maven
* migration support from Ant to Maven
* migration support from Ant to Maven
-
* global (re)definition of action mappings (e.g. run) - [http://www.netbeans.org/issues/show_bug.cgi?id=162764 #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) ('''milos/dafe for ui help''')
+
* global (re)definition of action mappings (e.g. run) - [http://www.netbeans.org/issues/show_bug.cgi?id=162764 #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==
-
'''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.'''
+
''For reference: [[MavenPlan68]]''

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