ExtractingStandaloneCluster

(Difference between revisions)
(Created page with '=Introduction= Some module clusters in the NetBeans main repository are no longer actively developed or supported by the NetBeans team; the main repo is intended only for stable…')
(Identifying modules to be moved)
Line 9: Line 9:
==Identifying modules to be moved==
==Identifying modules to be moved==
-
XXX
+
First it is necessary to decide exactly which modules (~ top-level directories) need to be moved. Open nbbuild/cluster.properties and look for the cluster definition; these are all the modules normally built in the cluster.
 +
 
 +
glassfish.jruby
 +
jellytools.ruby
 +
libs.jrubyparser
 +
libs.yydebug
 +
o.jruby
 +
o.jruby.distro
 +
o.kxml2
 +
o.rubyforge.debugcommons
 +
ruby
 +
ruby.codecoverage
 +
ruby.debugger
 +
ruby.extrahints
 +
ruby.help
 +
ruby.hints
 +
ruby.javaint
 +
ruby.kit
 +
ruby.platform
 +
ruby.project
 +
ruby.railsprojects
 +
ruby.rakeproject
 +
ruby.refactoring
 +
ruby.rhtml
 +
ruby.samples.depot
 +
ruby.testrunner
 +
spellchecker.bindings.ruby
 +
 
 +
Also look around for other modules in the source tree which appear to be related, though they may not currently be built in that cluster, perhaps because they are poorly maintained. They should still be moved; the new developers can decide to fix them up and include them in builds, delete them, leave them in sources but unbuilt, etc. For example, searching by name:
 +
 
 +
main$ ls -1d *ruby*
 +
glassfish.jruby
 +
jellytools.ruby
 +
libs.jrubyparser
 +
o.jruby
 +
o.jruby.distro
 +
o.rubyforge.debugcommons
 +
ruby
 +
ruby.codecoverage
 +
ruby.debugger
 +
ruby.extrahints
 +
ruby.help
 +
ruby.hints
 +
ruby.javaint
 +
ruby.kit
 +
ruby.merbproject
 +
ruby.platform
 +
ruby.project
 +
ruby.railsprojects
 +
ruby.rakeproject
 +
ruby.refactoring
 +
ruby.rhtml
 +
ruby.rspec
 +
ruby.samples.depot
 +
ruby.testrunner
 +
ruby.themes
 +
spellchecker.bindings.ruby
 +
 
 +
turns up three new entries not in the cluster list:
 +
 
 +
ruby.merbproject
 +
ruby.rspec
 +
ruby.themes
 +
 
 +
http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastSuccessfulBuild/artifact/nbbuild/build/generated/deps.txt lists all module-to-module dependencies among modules in registered clusters (including the contrib repo), which is useful for verifying that other modules will not be broken by removing all Ruby-related modules. http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastSuccessfulBuild/artifact/nbbuild/build/generated/cluster-deps.txt is also useful for verifying that all the Ruby-related modules can be built against the basic IDE (platform, harness, and ide clusters) and that other clusters do not refer to the ruby cluster.
==Extracting module history into a separate repo==
==Extracting module history into a separate repo==

Revision as of 16:02, 18 February 2011

Contents

Introduction

Some module clusters in the NetBeans main repository are no longer actively developed or supported by the NetBeans team; the main repo is intended only for stable, actively developed modules. To make it feasible for volunteers to take over maintenance of the "downsized" modules, the modules need to be moved into their own source repositories, converted to be buildable in a standalone fashion against NetBeans platform & core IDE binaries (modules in main and contrib use a special legacy build convention), and otherwise cleaned up.

This page lists the steps I performed while running this process for the NetBeans Ruby support.

Moving Source Code

Identifying modules to be moved

First it is necessary to decide exactly which modules (~ top-level directories) need to be moved. Open nbbuild/cluster.properties and look for the cluster definition; these are all the modules normally built in the cluster.

glassfish.jruby
jellytools.ruby
libs.jrubyparser
libs.yydebug
o.jruby
o.jruby.distro
o.kxml2
o.rubyforge.debugcommons
ruby
ruby.codecoverage
ruby.debugger
ruby.extrahints
ruby.help
ruby.hints
ruby.javaint
ruby.kit
ruby.platform
ruby.project
ruby.railsprojects
ruby.rakeproject
ruby.refactoring
ruby.rhtml
ruby.samples.depot
ruby.testrunner
spellchecker.bindings.ruby

Also look around for other modules in the source tree which appear to be related, though they may not currently be built in that cluster, perhaps because they are poorly maintained. They should still be moved; the new developers can decide to fix them up and include them in builds, delete them, leave them in sources but unbuilt, etc. For example, searching by name:

main$ ls -1d *ruby*
glassfish.jruby
jellytools.ruby
libs.jrubyparser
o.jruby
o.jruby.distro
o.rubyforge.debugcommons
ruby
ruby.codecoverage
ruby.debugger
ruby.extrahints
ruby.help
ruby.hints
ruby.javaint
ruby.kit
ruby.merbproject
ruby.platform
ruby.project
ruby.railsprojects
ruby.rakeproject
ruby.refactoring
ruby.rhtml
ruby.rspec
ruby.samples.depot
ruby.testrunner
ruby.themes
spellchecker.bindings.ruby

turns up three new entries not in the cluster list:

ruby.merbproject
ruby.rspec
ruby.themes

http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastSuccessfulBuild/artifact/nbbuild/build/generated/deps.txt lists all module-to-module dependencies among modules in registered clusters (including the contrib repo), which is useful for verifying that other modules will not be broken by removing all Ruby-related modules. http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastSuccessfulBuild/artifact/nbbuild/build/generated/cluster-deps.txt is also useful for verifying that all the Ruby-related modules can be built against the basic IDE (platform, harness, and ide clusters) and that other clusters do not refer to the ruby cluster.

Extracting module history into a separate repo

XXX

Removing modules from main

XXX

Publishing separate repo

XXX

Preparing Standalone Build

Converting to Ant-based module suite

XXX

Alternate: converting to Maven reactor tree

XXX

Locating platform binaries

XXX

http://hg.netbeans.org/community-uml/file/13ec0d76abee/build.xml http://source.apidesign.org/hg/netbinox/file/1075e21a049d/platform.xml

Setting up a Hudson job

XXX

Other Possible Steps

Issue tracking and mailing lists could be moved if necessary. (Requires site admin permissions.) Not done in this case.

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