You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by mk...@apache.org on 2022/02/18 14:49:09 UTC

[netbeans] 13/17: Use the blessed modifier order in projects located in extide projects

This is an automated email from the ASF dual-hosted git repository.

mklaehn pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git

commit 89151fc47a659d7cde45ecc77f6a7af5b2794880
Author: Martin Klähn <mk...@apache.org>
AuthorDate: Fri Feb 18 11:10:56 2022 +0100

    Use the blessed modifier order in projects located in extide projects
---
 .../src/org/netbeans/modules/gradle/ActionProviderImpl.java  |  4 ++--
 .../src/org/netbeans/modules/gradle/NbGradleProjectImpl.java |  2 +-
 .../modules/gradle/api/GradleBaseProjectBuilder.java         |  4 ++--
 .../org/netbeans/modules/gradle/api/GradleDependency.java    |  8 ++++----
 .../modules/gradle/api/execute/GradleCommandLine.java        |  2 +-
 .../org/netbeans/modules/gradle/cache/AbstractDiskCache.java | 10 +++++-----
 .../netbeans/modules/gradle/cache/ProjectInfoDiskCache.java  |  2 +-
 .../modules/gradle/customizer/BuildActionsCustomizer.java    |  2 +-
 .../modules/gradle/execute/GradleCliCompletionProvider.java  |  2 +-
 .../gradle/execute/GradleDistributionProviderImpl.java       |  2 +-
 .../org/netbeans/modules/gradle/nodes/BuildScriptsNode.java  |  2 +-
 .../org/netbeans/modules/gradle/options/SettingsPanel.java   |  2 +-
 .../modules/gradle/spi/newproject/TemplateOperation.java     |  2 +-
 .../src/org/apache/tools/ant/module/AntSettings.java         |  2 +-
 .../org/apache/tools/ant/module/api/AntTargetExecutor.java   |  4 ++--
 .../src/org/apache/tools/ant/module/bridge/AntBridge.java    |  2 +-
 .../apache/tools/ant/module/nodes/AntProjectChildren.java    |  2 +-
 .../src/org/apache/tools/ant/module/run/TargetExecutor.java  |  2 +-
 .../org/apache/tools/ant/module/run/VerticalGridLayout.java  |  2 +-
 .../src/org/apache/tools/ant/module/spi/AntOutputStream.java | 12 ++++++------
 20 files changed, 35 insertions(+), 35 deletions(-)

diff --git a/extide/gradle/src/org/netbeans/modules/gradle/ActionProviderImpl.java b/extide/gradle/src/org/netbeans/modules/gradle/ActionProviderImpl.java
index 9e5fc21..6693238 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/ActionProviderImpl.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/ActionProviderImpl.java
@@ -372,7 +372,7 @@ public class ActionProviderImpl implements ActionProvider {
         return createCustomGradleAction(project, name, command, Lookup.EMPTY, false);
     }
 
-    private final static class CustomAction extends AbstractAction {
+    private static final class CustomAction extends AbstractAction {
 
         private final ActionMapping mapping;
         private final boolean showUI;
@@ -397,7 +397,7 @@ public class ActionProviderImpl implements ActionProvider {
     }
 
     // Copied from the Maven Plugin with minimal changes applied.
-    private static abstract class ConditionallyShownAction extends AbstractAction implements ContextAwareAction {
+    private abstract static class ConditionallyShownAction extends AbstractAction implements ContextAwareAction {
 
         protected boolean triggeredOnFile = false;
         protected boolean triggeredOnGradle = false;
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/NbGradleProjectImpl.java b/extide/gradle/src/org/netbeans/modules/gradle/NbGradleProjectImpl.java
index a09b799..4492de1 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/NbGradleProjectImpl.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/NbGradleProjectImpl.java
@@ -121,7 +121,7 @@ public final class NbGradleProjectImpl implements Project {
         return project != null;
     }
 
-    public static abstract class WatcherAccessor {
+    public abstract static class WatcherAccessor {
 
         public abstract NbGradleProject createWatcher(NbGradleProjectImpl proj);
 
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/api/GradleBaseProjectBuilder.java b/extide/gradle/src/org/netbeans/modules/gradle/api/GradleBaseProjectBuilder.java
index 2167860..e1da60d 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/api/GradleBaseProjectBuilder.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/api/GradleBaseProjectBuilder.java
@@ -50,8 +50,8 @@ import org.openide.util.lookup.ServiceProvider;
 @SuppressWarnings("unchecked")
 class GradleBaseProjectBuilder implements ProjectInfoExtractor.Result {
 
-    final static Map<String, List<String>> DEPENDENCY_TO_PLUGIN = new LinkedHashMap<>();
-    final static Logger LOG = Logger.getLogger(GradleBaseProjectBuilder.class.getName());
+    static final Map<String, List<String>> DEPENDENCY_TO_PLUGIN = new LinkedHashMap<>();
+    static final Logger LOG = Logger.getLogger(GradleBaseProjectBuilder.class.getName());
 
     static {
         addDependencyPlugin("javax:javaee-api:.*", "ejb", "jpa");
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/api/GradleDependency.java b/extide/gradle/src/org/netbeans/modules/gradle/api/GradleDependency.java
index 8bd32a2..4649e82 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/api/GradleDependency.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/api/GradleDependency.java
@@ -68,7 +68,7 @@ public abstract class GradleDependency implements Serializable, Comparable<Gradl
      * Dependency for modules usually downloaded from a remote repository.
      * @since 1.0
      */
-    public final static class ModuleDependency extends GradleDependency {
+    public static final class ModuleDependency extends GradleDependency {
 
         final Set<File> artifacts;
         Set<File> sources;
@@ -163,7 +163,7 @@ public abstract class GradleDependency implements Serializable, Comparable<Gradl
      * Dependency for sub-project in the current multi-project setup.
      * @since 1.0
      */
-    public final static class ProjectDependency extends GradleDependency {
+    public static final class ProjectDependency extends GradleDependency {
 
         final File path;
         String description;
@@ -220,7 +220,7 @@ public abstract class GradleDependency implements Serializable, Comparable<Gradl
      * Dependency for files available on local filesystem.
      * @since 1.0
      */
-    public final static class FileCollectionDependency extends GradleDependency {
+    public static final class FileCollectionDependency extends GradleDependency {
 
         final Set<File> files;
 
@@ -242,7 +242,7 @@ public abstract class GradleDependency implements Serializable, Comparable<Gradl
     /**
      * Dependency for modules which was not able to be resolved by Gradle.
      */
-    public final static class UnresolvedDependency extends GradleDependency {
+    public static final class UnresolvedDependency extends GradleDependency {
 
         String problem;
 
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/api/execute/GradleCommandLine.java b/extide/gradle/src/org/netbeans/modules/gradle/api/execute/GradleCommandLine.java
index a44b1d0..6a9ef80 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/api/execute/GradleCommandLine.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/api/execute/GradleCommandLine.java
@@ -884,7 +884,7 @@ public final class GradleCommandLine implements Serializable {
         }
     }
 
-    final static void addGradleSettingJvmargs(File rootDir, List<String> jvmargs) {
+    static final void addGradleSettingJvmargs(File rootDir, List<String> jvmargs) {
         List<File> propFiles = new ArrayList<>();
         propFiles.add(new File(GradleSettings.getDefault().getGradleUserHome(), GradleFiles.GRADLE_PROPERTIES_NAME));
 
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/cache/AbstractDiskCache.java b/extide/gradle/src/org/netbeans/modules/gradle/cache/AbstractDiskCache.java
index a8c8f50..bad29db 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/cache/AbstractDiskCache.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/cache/AbstractDiskCache.java
@@ -49,7 +49,7 @@ public abstract class AbstractDiskCache<K, T extends Serializable> {
         this.key = key;
     }
 
-    public synchronized final T loadData() {
+    public final synchronized T loadData() {
         CacheEntry<T> e = loadEntry();
         return e != null ? e.getData() : null;
     }
@@ -64,14 +64,14 @@ public abstract class AbstractDiskCache<K, T extends Serializable> {
         return e != null && e.isValid(this);        
     }
     
-    public synchronized final void storeData(T data) {
+    public final synchronized void storeData(T data) {
         CacheEntry<T> entry = new CacheEntry<>(this, data);
         if (doStoreEntry(entry)) {
             entryRef = new WeakReference(entry);        
         }
     }
 
-    public synchronized final void invalidate() {
+    public final synchronized void invalidate() {
         entryRef = null;
         File cacheFile = cacheFile();
         if (cacheFile.canRead()) {
@@ -79,7 +79,7 @@ public abstract class AbstractDiskCache<K, T extends Serializable> {
         }
     }
 
-    protected synchronized final CacheEntry<T> loadEntry() {
+    protected final synchronized CacheEntry<T> loadEntry() {
         CacheEntry<T> ret = entryRef != null ? entryRef.get() : null;
         if (ret == null && !GradleExperimentalSettings.getDefault().isCacheDisabled()) {
             ret = doLoadEntry();
@@ -123,7 +123,7 @@ public abstract class AbstractDiskCache<K, T extends Serializable> {
     protected abstract File cacheFile();
     protected abstract Set<File> cacheInvalidators();
 
-    public final static class CacheEntry <T extends Serializable> implements Serializable  {
+    public static final class CacheEntry <T extends Serializable> implements Serializable  {
         static final long serialVersionUID = 1L;
         
         int version;
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/cache/ProjectInfoDiskCache.java b/extide/gradle/src/org/netbeans/modules/gradle/cache/ProjectInfoDiskCache.java
index e87138f..248d9c5 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/cache/ProjectInfoDiskCache.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/cache/ProjectInfoDiskCache.java
@@ -94,7 +94,7 @@ public final class ProjectInfoDiskCache extends AbstractDiskCache<GradleFiles, Q
 
         private final Quality quality;
         private final Map<String, Object> info;
-        private transient final Map<String, Object> ext;
+        private final transient Map<String, Object> ext;
         private final Set<String> problems;
         private final String gradleException;
 
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/customizer/BuildActionsCustomizer.java b/extide/gradle/src/org/netbeans/modules/gradle/customizer/BuildActionsCustomizer.java
index 2ee0ee7..7f0ef34 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/customizer/BuildActionsCustomizer.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/customizer/BuildActionsCustomizer.java
@@ -59,7 +59,7 @@ import org.openide.util.NbBundle.Messages;
 @Messages("TXT_CUSTOM=Custom...")
 public class BuildActionsCustomizer extends javax.swing.JPanel {
 
-    private final static String CUSTOM_ACTION = Bundle.TXT_CUSTOM();
+    private static final String CUSTOM_ACTION = Bundle.TXT_CUSTOM();
     private static final String CARD_NOSELECT = "empty"; //NOI18N
     private static final String CARD_DETAILS = "details"; //NOI18N
     private static final String CARD_DISABLED = "disabled"; //NOI18N
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/execute/GradleCliCompletionProvider.java b/extide/gradle/src/org/netbeans/modules/gradle/execute/GradleCliCompletionProvider.java
index 024bcf2..faaceac 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/execute/GradleCliCompletionProvider.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/execute/GradleCliCompletionProvider.java
@@ -193,7 +193,7 @@ public class GradleCliCompletionProvider implements CompletionProvider {
         return -1;
     }
 
-    private static abstract class AbstractGradleCompletionItem implements CompletionItem {
+    private abstract static class AbstractGradleCompletionItem implements CompletionItem {
         private final int startOffset;
         private final int caretOffset;
 
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/execute/GradleDistributionProviderImpl.java b/extide/gradle/src/org/netbeans/modules/gradle/execute/GradleDistributionProviderImpl.java
index a46d93c..34d98f1 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/execute/GradleDistributionProviderImpl.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/execute/GradleDistributionProviderImpl.java
@@ -55,7 +55,7 @@ import org.openide.util.WeakListeners;
 @ProjectServiceProvider(service = {GradleDistributionProvider.class, WatchedResourceProvider.class}, projectType = NbGradleProject.GRADLE_PROJECT_TYPE)
 public class GradleDistributionProviderImpl implements GradleDistributionProvider, WatchedResourceProvider {
 
-    private final static Logger LOGGER = Logger.getLogger(GradleDistributionProviderImpl.class.getName());
+    private static final Logger LOGGER = Logger.getLogger(GradleDistributionProviderImpl.class.getName());
 
     private static final List<String> AFFECTING_PROPS = Arrays.asList(
             PROP_GRADLE_USER_HOME,
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/nodes/BuildScriptsNode.java b/extide/gradle/src/org/netbeans/modules/gradle/nodes/BuildScriptsNode.java
index 3513723..e940261 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/nodes/BuildScriptsNode.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/nodes/BuildScriptsNode.java
@@ -78,7 +78,7 @@ public final class BuildScriptsNode extends AnnotatedAbstractNode {
     }
 
     // The order in this array determines the order of the nodes under Build Scripts
-    private final static Kind[] SCRIPTS = new Kind[] {
+    private static final Kind[] SCRIPTS = new Kind[] {
         BUILD_SRC, USER_PROPERTIES, SETTINGS_SCRIPT, ROOT_SCRIPT, ROOT_PROPERTIES, BUILD_SCRIPT, PROJECT_PROPERTIES
     };
 
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/options/SettingsPanel.java b/extide/gradle/src/org/netbeans/modules/gradle/options/SettingsPanel.java
index da5ca8a..97f9234 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/options/SettingsPanel.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/options/SettingsPanel.java
@@ -59,7 +59,7 @@ public class SettingsPanel extends javax.swing.JPanel {
     @StaticResource
     private static final String RESTART_ICON = "org/netbeans/modules/gradle/resources/restart.png"; //NOI18
 
-    private final static String[] CARDS = {"Execution", "Appearance", "Dependencies", "Experimental"}; //NOI18N
+    private static final String[] CARDS = {"Execution", "Appearance", "Dependencies", "Experimental"}; //NOI18N
 
     private GradleDistributionManager gdm = GradleDistributionManager.get(GradleSettings.getDefault().getGradleUserHome());
 
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/spi/newproject/TemplateOperation.java b/extide/gradle/src/org/netbeans/modules/gradle/spi/newproject/TemplateOperation.java
index c47db99..c7a8347 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/spi/newproject/TemplateOperation.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/spi/newproject/TemplateOperation.java
@@ -322,7 +322,7 @@ public final class TemplateOperation implements Runnable {
         steps.add(new PreloadProject(projectDir));
     }
 
-    private static abstract class BaseOperationStep implements OperationStep {
+    private abstract static class BaseOperationStep implements OperationStep {
         @Override
         public final String toString() {
             return "Step: " + getMessage();
diff --git a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/AntSettings.java b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/AntSettings.java
index b83b60b..e7b2b5d 100644
--- a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/AntSettings.java
+++ b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/AntSettings.java
@@ -268,7 +268,7 @@ public class AntSettings {
         pcs.firePropertyChange(prop, null, null);
     }
 
-    public static abstract class IntrospectedInfoSerializer {
+    public abstract static class IntrospectedInfoSerializer {
         public static IntrospectedInfoSerializer instance;
         public abstract IntrospectedInfo load(Preferences node);
         public abstract void store(Preferences node, IntrospectedInfo info);
diff --git a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/api/AntTargetExecutor.java b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/api/AntTargetExecutor.java
index 6da9cb2..2e0d72f 100644
--- a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/api/AntTargetExecutor.java
+++ b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/api/AntTargetExecutor.java
@@ -38,7 +38,7 @@ import org.openide.util.Parameters;
  * Executes an Ant target or list of targets asynchronously inside NetBeans.
  * @since 2.15
  */
-final public class AntTargetExecutor {
+public final class AntTargetExecutor {
 
     private final Env env;
 
@@ -105,7 +105,7 @@ final public class AntTargetExecutor {
      * The class can be used for customization of properties avaialble during the 
      * execution, verbosity of Ant target execution and output stream definition.
      */
-    final public static class Env {
+    public static final class Env {
 
         private int verbosity;
         private Properties properties;
diff --git a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/bridge/AntBridge.java b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/bridge/AntBridge.java
index 8ecbd76..204e8ff 100644
--- a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/bridge/AntBridge.java
+++ b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/bridge/AntBridge.java
@@ -251,7 +251,7 @@ public final class AntBridge {
         return getAntInstance().bridge;
     }
     
-    private synchronized static AntInstance getAntInstance() {
+    private static synchronized AntInstance getAntInstance() {
         AntInstance ai;
         if (antInstance != null) {
             ai = antInstance.get();
diff --git a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/nodes/AntProjectChildren.java b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/nodes/AntProjectChildren.java
index facd56f..fe3fe7d 100644
--- a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/nodes/AntProjectChildren.java
+++ b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/nodes/AntProjectChildren.java
@@ -40,7 +40,7 @@ import org.openide.util.RequestProcessor;
 
 final class AntProjectChildren extends Children.Keys<TargetLister.Target> implements ChangeListener, Comparator<TargetLister.Target> {
     
-    private final static RequestProcessor RP = new RequestProcessor(AntProjectChildren.class);
+    private static final RequestProcessor RP = new RequestProcessor(AntProjectChildren.class);
     private static Collator SORTER = Collator.getInstance();
     
     private final AntProjectCookie cookie;
diff --git a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/run/TargetExecutor.java b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/run/TargetExecutor.java
index c88d169..1dbe925 100644
--- a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/run/TargetExecutor.java
+++ b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/run/TargetExecutor.java
@@ -453,7 +453,7 @@ public final class TargetExecutor implements Runnable {
     /** Call execute(), not this method directly!
      */
     @SuppressWarnings("NestedSynchronizedStatement")
-    synchronized public @Override void run () {
+    public synchronized @Override void run () {
         final LastTargetExecuted[] thisExec = new LastTargetExecuted[1];
         final StopAction sa = stopActions.get(io);
         assert sa != null;
diff --git a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/run/VerticalGridLayout.java b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/run/VerticalGridLayout.java
index 1b1ea98..a38f66b 100644
--- a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/run/VerticalGridLayout.java
+++ b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/run/VerticalGridLayout.java
@@ -49,7 +49,7 @@ public class VerticalGridLayout implements LayoutManager2 {
 
     private final int screenHeight;
 
-    final private Set<Component> components = new LinkedHashSet<Component>();
+    private final Set<Component> components = new LinkedHashSet<Component>();
     
     @Override
     public void addLayoutComponent(Component comp, Object constraints) {
diff --git a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/spi/AntOutputStream.java b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/spi/AntOutputStream.java
index 2574bb0..f0ec064 100644
--- a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/spi/AntOutputStream.java
+++ b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/spi/AntOutputStream.java
@@ -40,7 +40,7 @@ public abstract class AntOutputStream extends OutputStream {
     private boolean hadFirst = false;
 
     @Override
-    final public void close() throws IOException {
+    public final void close() throws IOException {
         flush ();
         handleClose();
     }
@@ -55,24 +55,24 @@ public abstract class AntOutputStream extends OutputStream {
     }
 
     @Override
-    final public void flush() throws IOException {
+    public final void flush() throws IOException {
         flushLines (true);
     }
 
     @Override
-    final public void write(byte[] b) throws IOException {
+    public final void write(byte[] b) throws IOException {
         write (b, 0, b.length);
     }
 
     @Override
-    final public void write(byte[] b, int offset, int length) throws IOException {
+    public final void write(byte[] b, int offset, int length) throws IOException {
         buffer.append (new String (b, offset, length));
         // Will usually contain at least one newline:
         flushLines (false);
     }
 
     @Override
-    final public void write(int b) throws IOException {
+    public final void write(int b) throws IOException {
         buffer.append ((char) b);
         if ((char) b == '\n') {
             flushLines (false);
@@ -157,7 +157,7 @@ public abstract class AntOutputStream extends OutputStream {
 
     /** Write one line of text which was not parsed.
      */
-    abstract protected void writeLine(String line) throws IOException;
+    protected abstract void writeLine(String line) throws IOException;
     
     /** Create well formated message from the parsed information.
      * @deprecated No longer used since org.apache.tools.ant.module/3 3.8.

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists