This is an automated email from the ASF dual-hosted git repository.
skygo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/master by this push:
new 9258af50f3 apidoc check and improvement
new 67393d2c6d Merge pull request #4969 from ebarboni/apidocbuild
9258af50f3 is described below
commit 9258af50f3e8b03e066e4e2e6a5ee90a9684cb71
Author: Eric Barboni <[email protected]>
AuthorDate: Tue Nov 15 14:23:19 2022 +0100
apidoc check and improvement
---
.../org/netbeans/nbbuild/Arch-api-questions.xml | 12 +-
nbbuild/antsrc/org/netbeans/nbbuild/Arch.xsl | 18 +-
.../antsrc/org/netbeans/nbbuild/CheckLinks.java | 38 +++-
.../antsrc/org/netbeans/nbbuild/JavadocIndex.java | 104 +++++----
nbbuild/build.properties | 65 ++++--
nbbuild/build.xml | 2 +
nbbuild/external/binaries-list | 1 +
nbbuild/external/jsoup-1.15.3-license.txt | 27 +++
nbbuild/javadoctools/apichanges.xsl | 2 +-
nbbuild/javadoctools/build.xml | 63 +++---
nbbuild/javadoctools/disallowed-links.xml | 235 ++++++++++++++++-----
nbbuild/javadoctools/export2color.xsl | 10 +-
nbbuild/javadoctools/export2html.xsl | 34 ++-
nbbuild/javadoctools/export2index.xsl | 34 ++-
nbbuild/javadoctools/exportOverview.xsl | 22 +-
nbbuild/javadoctools/links.xml | 2 +
nbbuild/javadoctools/properties.xml | 2 +
nbbuild/javadoctools/replaces.xml | 12 +-
nbbuild/javadoctools/template.xml | 88 +++++---
nbbuild/licenses/MIT-jsoup22 | 21 ++
nbbuild/nbproject/project.xml | 2 +-
.../org/netbeans/nbbuild/ArchQuestionsTest.java | 4 +-
.../src/org/netbeans/nbbuild/arch-profiler.xml | 10 +-
23 files changed, 563 insertions(+), 245 deletions(-)
diff --git a/nbbuild/antsrc/org/netbeans/nbbuild/Arch-api-questions.xml
b/nbbuild/antsrc/org/netbeans/nbbuild/Arch-api-questions.xml
index 91970b514f..9f1493504f 100644
--- a/nbbuild/antsrc/org/netbeans/nbbuild/Arch-api-questions.xml
+++ b/nbbuild/antsrc/org/netbeans/nbbuild/Arch-api-questions.xml
@@ -53,12 +53,12 @@ and commits any changes to
openide/www/tutorial/questions.html.
Describe the overall architecture.
<hint>
What will be API for
- <a
href="http://wiki.netbeans.org/API_Design#Separate_API_for_clients_from_support_API">
+ <a
href="https://netbeans.apache.org/wiki/API_Design#Separate_API_for_clients_from_support_API">
clients and what support API</a>?
What parts will be pluggable?
How will plug-ins be registered? Please use <code><api
type="export"/></code>
to describe your general APIs and specify their
- <a href="http://wiki.netbeans.org/API_Stability#Private">
+ <a href="https://netbeans.apache.org/wiki/API_Stability#private">
stability categories</a>.
If possible please provide simple diagrams.
</hint>
@@ -73,7 +73,7 @@ and commits any changes to
openide/www/tutorial/questions.html.
at the root of your javadoc
</hint>
- Describe the main <a
href="http://wiki.netbeans.org/API_Design#The_Importance_of_Being_Use_Case_Oriented">
+ Describe the main <a
href="https://netbeans.apache.org/wiki/API_Design#The_Importance_of_Being_Use_Case_Oriented">
use cases</a> of the new API. Who will use it under
what circumstances? What kind of code would typically need to be
written
to use the module?
@@ -90,7 +90,7 @@ and commits any changes to
openide/www/tutorial/questions.html.
</question>
<question id="arch-quality" when="init">
- How will the <a
href="http://www.netbeans.org/community/guidelines/q-evangelism.html">quality</a>
+ How will the <a
href="https://netbeans.apache.org/participate/qualityevangelism.html">quality</a>
of your code be tested and
how are future regressions going to be prevented?
<hint>
@@ -316,7 +316,7 @@ and commits any changes to
openide/www/tutorial/questions.html.
<hint>
As this is some kind of intermodule dependency, it is a kind of
API.
Please describe it and classify according to
- <a href="http://wiki.netbeans.org/API_Design#What_is_an_API.3F">
+ <a
href="https://netbeans.apache.org/wiki/API_Design#What_is_an_API">
common stability categories</a>.
</hint>
</question>
@@ -406,7 +406,7 @@ and commits any changes to
openide/www/tutorial/questions.html.
<hint>
If there is a property that can change the behavior of your
code, somebody will likely use it. You should describe what it
does
- and the <a href="http://wiki.netbeans.org/API_Stability">stability
category</a>
+ and the <a
href="https://netbeans.apache.org/wiki/API_Stability">stability category</a>
of this API. You may use
<pre>
<api type="export" group="property" name="id"
category="private" url="http://...">
diff --git a/nbbuild/antsrc/org/netbeans/nbbuild/Arch.xsl
b/nbbuild/antsrc/org/netbeans/nbbuild/Arch.xsl
index 6b3b959dc1..131ba44863 100644
--- a/nbbuild/antsrc/org/netbeans/nbbuild/Arch.xsl
+++ b/nbbuild/antsrc/org/netbeans/nbbuild/Arch.xsl
@@ -354,16 +354,16 @@
<td> <!-- stability category -->
<a>
<xsl:attribute name="href">
-
<xsl:text>http://wiki.netbeans.org/API_Stability#</xsl:text>
+
<xsl:text>https://netbeans.apache.org/wiki/API_Stability#</xsl:text>
<xsl:choose>
- <xsl:when
test="$category='official'">Official</xsl:when>
- <xsl:when
test="$category='stable'">Stable</xsl:when>
- <xsl:when test="$category='devel'">Devel</xsl:when>
- <xsl:when
test="$category='third'">Third_Party</xsl:when>
- <xsl:when
test="$category='standard'">Standard</xsl:when>
- <xsl:when
test="$category='friend'">Friend</xsl:when>
- <xsl:when
test="$category='private'">Private</xsl:when>
- <xsl:when
test="$category='deprecated'">Deprecated</xsl:when>
+ <xsl:when
test="$category='official'">official</xsl:when>
+ <xsl:when
test="$category='stable'">stable</xsl:when>
+ <xsl:when test="$category='devel'">devel</xsl:when>
+ <xsl:when
test="$category='third'">third_party</xsl:when>
+ <xsl:when
test="$category='standard'">standard</xsl:when>
+ <xsl:when
test="$category='friend'">friend</xsl:when>
+ <xsl:when
test="$category='private'">private</xsl:when>
+ <xsl:when
test="$category='deprecated'">deprecated</xsl:when>
<xsl:otherwise>
<xsl:message>
WARNING: <xsl:value-of select="$category"/>
diff --git a/nbbuild/antsrc/org/netbeans/nbbuild/CheckLinks.java
b/nbbuild/antsrc/org/netbeans/nbbuild/CheckLinks.java
index d0bbc40c39..5b7c766511 100644
--- a/nbbuild/antsrc/org/netbeans/nbbuild/CheckLinks.java
+++ b/nbbuild/antsrc/org/netbeans/nbbuild/CheckLinks.java
@@ -21,8 +21,13 @@ package org.netbeans.nbbuild;
import java.io.*;
import java.net.*;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.StandardOpenOption;
import java.util.*;
import java.util.Map.Entry;
+import java.util.logging.Level;
+import java.util.logging.Logger;
import java.util.regex.*;
import org.apache.tools.ant.BuildException;
@@ -50,6 +55,7 @@ public class CheckLinks extends MatchingTask {
private List<Mapper> mappers = new LinkedList<>();
private List<Filter> filters = new ArrayList<>();
private File report;
+ private File externallinksdump;
/** Set whether to check external links (absolute URLs).
* Local relative links are always checked.
@@ -90,6 +96,12 @@ public class CheckLinks extends MatchingTask {
this.report = report;
}
+ /**
+ * Folder where we collect all external links for further inspection
+ */
+ public void setExternallinkslist(File externallinksdump) {
+ this.externallinksdump = externallinksdump;
+ }
/**
* Add a mapper to translate file names to the "originals".
*/
@@ -132,7 +144,7 @@ public class CheckLinks extends MatchingTask {
JUnitReportWriter.writeReport(this, null, report,
Collections.singletonMap("testBrokenLinks", testMessage));
}
- private static Pattern hrefOrAnchor =
Pattern.compile("<(a|img|link)(\\s+shape=\"rect\")?(?:\\s+rel=\"stylesheet\")?\\s+(href|name|src)=\"([^\"#]*)(#[^\"]+)?\"(\\s+shape=\"rect\")?(?:\\s+type=\"text/css\")?\\s*/?>",
Pattern.CASE_INSENSITIVE);
+ private static Pattern hrefOrAnchor =
Pattern.compile("<(a|img|link|h3)(\\s+shape=\"rect\")?(?:\\s+rel=\"stylesheet\")?\\s+(href|name|id|src)=\"([^\"#]*)(#[^\"$]+)?\"(\\s+shape=\"rect\")?(?:\\s+type=\"text/css\")?\\s*/?>",
Pattern.CASE_INSENSITIVE);
private static Pattern lineBreak = Pattern.compile("^", Pattern.MULTILINE);
/**
@@ -459,7 +471,7 @@ public class CheckLinks extends MatchingTask {
while (m.find()) {
// Get the stuff involved:
String type = m.group(3);
- if (type.equalsIgnoreCase("name")) {
+ if (type.equalsIgnoreCase("name") ||
(type.equalsIgnoreCase("id") && !unescape(m.group(4)).startsWith("#"))) {
// We have an anchor, therefore refs to it are valid.
String name = unescape(m.group(4));
if (names.add(name)) {
@@ -633,8 +645,26 @@ public class CheckLinks extends MatchingTask {
throw new BuildException ("Each filter must have pattern
attribute");
}
- if (pattern.matcher (u.toString ()).matches ()) {
- log ("Matched " + u + " accepted: " + accept,
org.apache.tools.ant.Project.MSG_VERBOSE);
+ if (pattern.matcher(u.toString()).matches()) {
+ log("Matched " + u + " accepted: " + accept,
org.apache.tools.ant.Project.MSG_VERBOSE);
+ if (externallinksdump != null) {
+ try {
+ // triage result to file for later processing.
+ String dumpFileName = accept ? "acceptednetbeans.txt"
: "rejectednetbeans.txt";
+
+ Path dumppath =
externallinksdump.toPath().resolve(dumpFileName);
+ if (Files.notExists(dumppath)) {
+ Files.createDirectories(dumppath.getParent());
+ Files.createFile(dumppath);
+ }
+ Set<String> sortedEntries = new
TreeSet<>(Files.readAllLines(externallinksdump.toPath().resolve(dumpFileName)));
+ sortedEntries.add(u.toString());
+ // ordered and unique per Set usage
+ Files.write(dumppath, sortedEntries,
StandardOpenOption.WRITE, StandardOpenOption.TRUNCATE_EXISTING);
+ } catch (IOException ex) {
+
Logger.getLogger(CheckLinks.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ }
return accept;
}
return null;
diff --git a/nbbuild/antsrc/org/netbeans/nbbuild/JavadocIndex.java
b/nbbuild/antsrc/org/netbeans/nbbuild/JavadocIndex.java
index ae63357fec..924c6ce172 100644
--- a/nbbuild/antsrc/org/netbeans/nbbuild/JavadocIndex.java
+++ b/nbbuild/antsrc/org/netbeans/nbbuild/JavadocIndex.java
@@ -24,7 +24,6 @@ import java.io.File;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
-import java.util.regex.*;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.DirectoryScanner;
@@ -32,6 +31,12 @@ import org.apache.tools.ant.Project;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.types.FileSet;
+import org.jsoup.Jsoup;
+import org.jsoup.nodes.Document;
+import org.jsoup.nodes.Element;
+import org.jsoup.select.Elements;
+
+
/** Generates a file with index of all files.
*
* @author Jaroslav Tulach
@@ -40,7 +45,7 @@ public class JavadocIndex extends Task {
private File target;
private FileSet set;
private Map<String,List<Clazz>> classes = new HashMap<>(101);
-
+
/** The file to generate the index to.
*/
public void setTarget (File f) {
@@ -49,13 +54,14 @@ public class JavadocIndex extends Task {
/** List of indexes to search in.
*/
- public void addPackagesList(FileSet set) throws BuildException {
+ public void addPackagesList(FileSet set) throws BuildException {
if (this.set != null) {
throw new BuildException ("Package list can be associated only
once");
}
this.set = set;
}
-
+
+ @Override
public void execute() throws BuildException {
if (target == null) {
throw new BuildException ("Target must be set"); // NOI18N
@@ -63,7 +69,7 @@ public class JavadocIndex extends Task {
if (set == null) {
throw new BuildException ("Set of files must be provided: " +
set); // NOI18N
}
-
+
DirectoryScanner scan = set.getDirectoryScanner(this.getProject());
File bdir = scan.getBasedir();
for (String n : scan.getIncludedFiles()) {
@@ -85,90 +91,72 @@ public class JavadocIndex extends Task {
} catch (IOException ex) {
throw new BuildException (ex);
}
- }
+ }
+
+
-
-
/** Stores parsed info in classes variable */
private void parseForClasses (File f) throws BuildException {
log ("Parsing file: " + f, Project.MSG_DEBUG);
try {
- BufferedReader is = new BufferedReader (new FileReader (f));
-
-
String urlPrefix;
try {
String fullDir = f.getParentFile ().getCanonicalPath ();
String fullTgz = target.getParentFile ().getCanonicalPath ();
-
+
if (!fullDir.startsWith (fullTgz)) {
throw new BuildException ("The directory of target file
must be above all parsed files. Directory: " + fullTgz + " the file dir: " +
fullDir);
}
-
+
urlPrefix = fullDir.substring (fullTgz.length () + 1);
} catch (IOException ex) {
throw new BuildException (ex);
}
-
- // parse following string
- // <A HREF="org/openide/xml/XMLUtil.html" title="class in
org.openide.xml">XMLUtil</A
- String mask = ".*<A HREF=\"([^\"]*)\"
title=\"(class|interface|annotation) in
([^\"]*)\"[><I]*>([\\p{Alnum}\\.]*)</.*A>.*";
- Pattern p = Pattern.compile (mask, Pattern.CASE_INSENSITIVE);
- // group 1: relative URL to a class or interface
- // group 2: interface, class or annotation string
- // group 3: name of package
- // group 4: name of class
-
+
+ Document doc = Jsoup.parse(f, "UTF-8", "");
+ Elements ul = doc.getElementsByTag("ul");
+ // should be only one list
+ if (ul.size() != 1) {
+ throw new BuildException("File is not valid for parsing
classes : " + f);
+ }
int matches = 0;
- for (;;) {
- String line = is.readLine ();
- if (line == null) break;
-
- Matcher m = p.matcher (line);
- if (m.matches ()) {
+ for (Element li : ul.first().getElementsByTag("li")) {
+ // class Name is the only text in all the tag
+ String className = li.text();
+ // we need anchor to get the inforation
+ Element anchor = li.getElementsByTag("a").first();
+ // left of title is type of element
(interface,annotation,class,enum ....)
+ // right of title is package of element
+ String[] title = anchor.attr("title").split(" in ");
+ if (title.length == 2) {
matches++;
- log ("Accepted line: " + line, Project.MSG_DEBUG);
-
- if (m.groupCount () != 4) {
- StringBuffer sb = new StringBuffer ();
- sb.append ("Line " + line + " has " + m.groupCount ()
+ " groups and not four");
- for (int i = 0; i <= m.groupCount (); i++) {
- sb.append ("\n " + i + " grp: " + m.group (i));
- }
- throw new BuildException (sb.toString ());
- }
-
- Clazz c = new Clazz (
- m.group (3),
- m.group (4),
- "interface".equals (m.group (2)),
- urlPrefix + "/" + m.group (1)
+ Clazz c = new Clazz(
+ title[1].trim(),
+ className,
+ "interface".equals(title[0].trim()),
+ urlPrefix + "/" + anchor.attr("href")
);
- if (c.name == null) throw new NullPointerException ("Null
name for " + line + "\nclass: " + c);
- if (c.name.length () == 0) throw new IllegalStateException
("Empty name for " + line + "\nclass: " + c);
-
- log ("Adding class: " + c, Project.MSG_DEBUG);
-
+ if (c.name.isEmpty()) {
+ throw new IllegalStateException("Empty name for " +
li.html() + "\nclass: " + c);
+ }
+ log("Adding class: " + c, Project.MSG_DEBUG);
List<Clazz> l = classes.get(c.pkg);
if (l == null) {
l = new ArrayList<>();
classes.put (c.pkg, l);
}
l.add (c);
- } else {
- log ("Refused line: " + line, Project.MSG_DEBUG);
}
}
-
if (matches == 0) {
throw new BuildException ("No classes defined in file: " + f);
}
-
+
} catch (java.io.IOException ex) {
throw new BuildException (ex);
}
}
-
+
private void printClassesAsHtml (PrintStream ps) {
ps.println ("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01
Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">");
ps.println ("<HTML>\n<HEAD><TITLE>List of All Classes</TITLE></HEAD>");
@@ -212,7 +200,7 @@ public class JavadocIndex extends Task {
}
ps.println ("</classes>");
}
-
+
/** An information about one class in api */
private static final class Clazz extends Object implements
Comparable<Clazz> {
public final String pkg;
@@ -225,12 +213,14 @@ public class JavadocIndex extends Task {
this.isInterface = isInterface;
this.url = url;
}
-
+
/** Compares based on class names */
+ @Override
public int compareTo(Clazz o) {
return name.compareTo(o.name);
}
+ @Override
public String toString () {
return "PKG: " + pkg + " NAME: " + name + " INTERFACE: " +
isInterface + " url: " + url;
}
diff --git a/nbbuild/build.properties b/nbbuild/build.properties
index 08dab861c9..743fc7e3f5 100644
--- a/nbbuild/build.properties
+++ b/nbbuild/build.properties
@@ -73,6 +73,7 @@ javadoc.packages=\
# List of modules that provide stable javadoc
config.javadoc.stable=\
+ ${config.javadoc.forwarded.all},\
api.annotations.common,\
api.htmlui,\
api.intent,\
@@ -87,7 +88,6 @@ config.javadoc.stable=\
autoupdate.ui,\
core.ide,\
core.multiview,\
- openide.util,\
openide.util.lookup,\
openide.util.ui,\
openide.actions,\
@@ -143,7 +143,6 @@ config.javadoc.stable=\
java.platform.ui,\
java.project,\
java.project.ui,\
- java.source,\
java.source.base,\
java.sourceui,\
editor.fold,\
@@ -152,30 +151,38 @@ config.javadoc.stable=\
api.xml,\
o.apache.tools.ant.module,\
db,\
- db.core,\
spi.quicksearch,\
print,\
extexecution,\
- lib.uihandler,\
- uihandler
+ extexecution.base
#FIXME: changes for retouche merge:
# editor/codetemplates,\
+config.javadoc.forwarded.all=\
+ ${config.javadoc.forwarded.devel},\
+ ${config.javadoc.forwarded.friend},\
+ ${config.javadoc.forwarded.deprecated}
+
+# List of javadocs under development quoted on stable javadoc
+config.javadoc.forwarded.devel=\
+ openide.util,\
+ editor.indent,\
+ editor.bracesmatching,\
+ editor.lib,\
+ editor,\
+ lib.uihandler,\
+ uihandler,\
+ spi.editor.hints
+
# List of javadocs under development
config.javadoc.devel=\
- nbjunit,\
- jellytools.platform,\
- jellytools.ide,\
+ junit,\
core.multitabs,\
core.netigso,\
gradle,\
gradle.java,\
o.n.swing.outline,\
- o.n.swing.tabcontrol,\
- editor.indent,\
- editor.indent.support,\
- editor.bracesmatching,\
j2ee.metadata,\
jumpto,\
libs.git,\
@@ -186,15 +193,26 @@ config.javadoc.devel=\
versioning,\
bugtracking,\
sampler,\
- spi.editor.hints,\
spi.java.hints,\
java.hints.test,\
api.web.webmodule,\
xml.xam,\
xml.xdm
+# List of javadocs dedicated just for friend usage quoted on stable javadoc
+config.javadoc.forwarded.friend=\
+ editor.util,\
+ editor.indent.support,\
+ db.core,\
+ java.source,\
+ maven
+
# List of javadocs dedicated just for friend usage
config.javadoc.friend=\
+ nbjunit,\
+ jellytools.platform,\
+ jellytools.ide,\
+ jellytools.java,\
o.n.bootstrap,\
o.n.core,\
core.network,\
@@ -202,28 +220,31 @@ config.javadoc.friend=\
core.startup,\
classfile,\
o.n.swing.plaf,\
- editor.util,\
editor.settings.storage,\
- editor.lib,\
- editor,\
j2ee.dd,\
j2eeserver,\
java.api.common,\
java.j2seproject,\
- junit,\
lib.v8debug,\
nativeimage.api,\
versioning.core,\
masterfs,\
masterfs.ui,\
- projectui
+ projectui,\
+ o.n.swing.tabcontrol,\
+ xml.wsdl.model
+
-# List of old and deprecated APIs for building complete javadoc
+# List of javadocs dedicated just for deprecated usage quoted on stable javadoc
+config.javadoc.forwarded.deprecated=\
+ o.openidex.util
+# List of old and deprecated APIs for building complete javadoc
config.javadoc.deprecated=\
- openide.compat,\
- openide.options,\
- o.openidex.util
+ openide.options
+
+#deprecated not linked
+# openide.compat,\
# List of all javadocs for development version
# is composed from the javadocs split by stability
diff --git a/nbbuild/build.xml b/nbbuild/build.xml
index 54472009e6..c24d970e9c 100644
--- a/nbbuild/build.xml
+++ b/nbbuild/build.xml
@@ -95,6 +95,8 @@
<include name="platform/javahelp/external/jhall*.jar"/>
<!-- For json parsing -->
<include name="nbbuild/external/json-simple*.jar"/>
+ <!-- For parsing some web : -->
+ <include name="nbbuild/external/jsoup*.jar"/>
</fileset>
</path>
<javac srcdir="antsrc" destdir="${build.ant.classes.dir}"
deprecation="true" debug="${build.compiler.debug}" source="1.8" target="1.8">
diff --git a/nbbuild/external/binaries-list b/nbbuild/external/binaries-list
index 175b394c18..b4d662a945 100644
--- a/nbbuild/external/binaries-list
+++ b/nbbuild/external/binaries-list
@@ -19,3 +19,4 @@ A8E7C929F046F3890F4A986F3D7EE8E4C4253C6B
org.apidesign.javadoc:codesnippet-docle
B8A142EBDE0CDC071A347B2E93C8548C2A5D09B0
org.netbeans.tools:sigtest-maven-plugin:1.4
C9AD4A0850AB676C5C64461A05CA524CDFFF59F1
com.googlecode.json-simple:json-simple:1.1.1
3A4E4ECCF553036BB0DDBA675486D574B62A01D8
org.apache.netbeans.modules.jackpot30:tool:12.3
+F6E1D8A8819F854B681C8EAA57FD59A42329E10C org.jsoup:jsoup:1.15.3
diff --git a/nbbuild/external/jsoup-1.15.3-license.txt
b/nbbuild/external/jsoup-1.15.3-license.txt
new file mode 100644
index 0000000000..9a232b6975
--- /dev/null
+++ b/nbbuild/external/jsoup-1.15.3-license.txt
@@ -0,0 +1,27 @@
+Name: jsoup
+Version: 1.15.3
+License: MIT-jsoup22
+Description: jsoup library
+Origin: https://github.com/jhy/jsoup
+
+The MIT License
+
+Copyright (c) 2009-2022 Jonathan Hedley <[email protected]>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/nbbuild/javadoctools/apichanges.xsl
b/nbbuild/javadoctools/apichanges.xsl
index 4c6be16c90..e12c520f3e 100644
--- a/nbbuild/javadoctools/apichanges.xsl
+++ b/nbbuild/javadoctools/apichanges.xsl
@@ -304,7 +304,7 @@ committed to the repository for legal reasons. You need to
download it:
<br/><strong>Compatibility: </strong> <xsl:apply-templates
select="compatibility/node()"/>
</xsl:if>
<xsl:if test="compatibility/@source = 'incompatible' and
compatibility/@binary = 'compatible'">
- <br/><em><a
href="http://wiki.netbeans.org/VersioningPolicy#Compatible_change_on_the_trunk">Binary-compatible</a></em>
+ <br/><em><a
href="https://netbeans.apache.org/wiki/VersioningPolicy#Compatible_change_on_the_trunk">Binary-compatible</a></em>
</xsl:if>
</xsl:template>
diff --git a/nbbuild/javadoctools/build.xml b/nbbuild/javadoctools/build.xml
index fe678a739e..3397691d55 100644
--- a/nbbuild/javadoctools/build.xml
+++ b/nbbuild/javadoctools/build.xml
@@ -33,12 +33,12 @@
<target name="build-javadoc"
depends="-jdk-init,-load-build-properties,init-tasks,set-buildnumber"
description="Builds Javadoc documentation for modules; on branches pass e.g.
-Djavadoc.web.root=http://bits.netbeans.org/6.7/javadoc">
<resolvelist name="allmodules" path="modules.fullpath" dir="${nb_all}"
list="${nb.clusters.list}" modules="${config.javadoc.all}"/>
<sortsuitemodules unsortedmodules="${modules.fullpath}"
sortedmodulesproperty="modules.sorted"/>
-
+
<property name="export.interfaces"
location="${netbeans.javadoc.dir}/../ModulesExportedInterfaces"/>
<property name="export.apichanges"
location="${netbeans.javadoc.dir}/../APIChanges"/>
<mkdir dir="${export.interfaces}"/>
<mkdir dir="${export.apichanges}"/>
-
+
<property name="javadoc.fail.on.error" value="true"/>
<subant-junit target="javadoc" failonerror="${javadoc.fail.on.error}"
report="${nb_all}/nbbuild/build/build-all-javadoc.xml">
<buildpath path="${modules.sorted}"/>
@@ -80,43 +80,50 @@
</zipfileset>
</zip>
</target>
-
+
<target name="generate-xml" depends="init">
<echo file="${export.apichanges}/header.gen"><?xml version="1.0"
encoding="UTF-8"?>
<changes>
</echo>
-
+
<echo file="${export.apichanges}/footer.gen">
</changes>
</echo>
-
+
<concat destfile="${netbeans.javadoc.dir}/apichanges.xml">
<fileset dir="${export.apichanges}" includes="header.gen"/>
<fileset dir="${export.apichanges}" includes="*" excludes="*.gen"/>
<fileset dir="${export.apichanges}" includes="footer.gen"/>
</concat>
-
+
<echo file="${export.interfaces}/header.gen"><?xml version="1.0"
encoding="UTF-8"?>
<apis>
</echo>
-
+
<echo file="${export.interfaces}/footer.gen">
</apis>
</echo>
-
+
<concat destfile="${netbeans.javadoc.dir}/modules.xml">
<fileset dir="${export.interfaces}" includes="header.gen"/>
<fileset dir="${export.interfaces}" includes="*" excludes="*.gen"/>
<fileset dir="${export.interfaces}" includes="footer.gen"/>
</concat>
-
- <taskdef name="javadoc-index"
classname="org.netbeans.nbbuild.JavadocIndex" classpath="${nbantext.jar}"/>
+
+ <taskdef name="javadoc-index"
classname="org.netbeans.nbbuild.JavadocIndex">
+ <classpath>
+ <pathelement location="${nbantext.jar}"/>
+ <fileset dir="${nb_all}/nbbuild/external">
+ <include name="jsoup*.jar"/>
+ </fileset>
+ </classpath>
+ </taskdef>
<javadoc-index target="${netbeans.javadoc.dir}/allclasses.xml">
<packageslist dir="${netbeans.javadoc.dir}">
<include name="**/allclasses-noframe.html"/>
</packageslist>
</javadoc-index>
-
+
<!-- we concat all xml into one big xml file alldatas.xml -->
<echo file="${export.interfaces}/header.gen"><?xml version="1.0"
encoding="UTF-8"?>
<alldata>
@@ -135,10 +142,10 @@
<linecontainsregexp negate="true">
<regexp pattern="<\?xml version"/>
</linecontainsregexp>
- </filterchain>
+ </filterchain>
</concat>
</target>
-
+
<target name="generate-html" depends="init">
<!-- reformulate dev version from json to more human version -->
<condition property="json.uversion" value="${json.version}"
else="Development Version">
@@ -152,7 +159,7 @@
<param name="version" expression="${json.uversion}" />
<param name="releaseinfo" expression="${xmlrelease}" />
</style>
-
+
<style in="${netbeans.javadoc.dir}/alldatas.xml"
out="${netbeans.javadoc.dir}/apichanges.html" style="export2apichanges.xsl">
<param name="date" expression="${modules-javadoc-date}"/>
<param name="changes-since-year"
expression="${previous.release.year}"/>
@@ -180,7 +187,7 @@
<condition property="javadoc.style.sheet.exists">
<available
file="${netbeans.javadoc.dir}/org-openide-util/javadoc.css"/>
</condition>
-
+
<fail unless="javadoc.style.sheet.exists">
The org-openide-util/javadoc.css has to exist as we are referring
to
it from master module Javadoc pages. If it does not anymore, update
@@ -188,18 +195,18 @@
</fail>
<!--
<style in="${netbeans.javadoc.dir}/allclasses.xml"
out="${netbeans.javadoc.dir}/allclasses-frame.html"
style="export2allclasses.xsl"/>
-
+
<style in="${netbeans.javadoc.dir}/modules.xml"
out="${netbeans.javadoc.dir}/overview-frame.html" style="export2allmodules.xsl">
<param name="date" expression="${modules-javadoc-date}"/>
</style>
--->
+-->
<style in="${netbeans.javadoc.dir}/alldatas.xml"
out="${netbeans.javadoc.dir}/layers.html" style="export2layer.xsl">
<param name="date" expression="${modules-javadoc-date}"/>
<param name="maturity" expression="${json.maturity}" />
<param name="version" expression="${json.uversion}" />
<param name="releaseinfo" expression="${xmlrelease}" />
</style>
-
+
<style in="${netbeans.javadoc.dir}/alldatas.xml"
out="${netbeans.javadoc.dir}/properties.html" style="export2property.xsl">
<param name="date" expression="${modules-javadoc-date}"/>
<param name="maturity" expression="${json.maturity}" />
@@ -213,8 +220,8 @@
<param name="version" expression="${json.uversion}" />
<param name="releaseinfo" expression="${xmlrelease}" />
</style>
-
- <!-- at the end generate the index.html so people know where to start
-->
+
+ <!-- at the end generate the index.html so people know where to start
-->
<style in="${netbeans.javadoc.dir}/alldatas.xml"
out="${netbeans.javadoc.dir}/index.html" style="export2index.xsl">
<param name="date" expression="${modules-javadoc-date}"/>
<param name="maturity" expression="${json.maturity}" />
@@ -226,23 +233,29 @@
<replace dir="${netbeans.javadoc.dir}">
<include name="*.html"/>
<replacefilter token="@JDK@" value="${javaapidocurl}"/>
- &replaces;
+ &replaces;
<replacefilter token="http://root/" value="."/>
<replacefilter token="$${javadoc.web.root}" value="."/>
</replace>
-
+
<echo message="Javadoc index has been generated to
${netbeans.javadoc.dir}/index.html"/>
</target>
-
+
<target name="check-broken-links" depends="init"
unless="javadoc.skip.brokenlinks.check">
<taskdef name="checklinks" classname="org.netbeans.nbbuild.CheckLinks"
classpath="${nbantext.jar}"/>
<property name="javadoc.check.forbidden.links" value="true"/>
- <checklinks basedir="${netbeans.javadoc.dir}"
checkexternal="${javadoc.check.external.links}"
checkforbidden="${javadoc.check.forbidden.links}" checkspaces="false"
report="${netbeans.javadoc.dir}/checklinks-errors.xml">
+ <!-- -->
+ <property name="javadoc.externallinks"
location="${nb_all}/nbbuild/build/javadoclinks"/>
+ <mkdir dir="${javadoc.externallinks}"/>
+ <delete file="${javadoc.externallinks}*.txt" failonerror="false"/>
+ <!-- -->
+ <checklinks basedir="${netbeans.javadoc.dir}"
checkexternal="${javadoc.check.external.links}"
checkforbidden="${javadoc.check.forbidden.links}" checkspaces="false"
report="${netbeans.javadoc.dir}/checklinks-errors.xml"
externallinkslist="${javadoc.externallinks}">
<include name="*/overview-summary.html"/>
<include name="*/apichanges.html"/>
<include name="*/architecture-summary.html"/>
<include name="*/**/package-summary.html"/>
- <include name="*/**/doc-files/**/*.html"/>
+ <!-- <include name="*/**/doc-files/**/*.html"/> -->
+ <include name="*/**/*.html"/>
<include name="*.html"/>
&disallowed-links;
</checklinks>
diff --git a/nbbuild/javadoctools/disallowed-links.xml
b/nbbuild/javadoctools/disallowed-links.xml
index 3d10d0e7b2..3251f3803c 100644
--- a/nbbuild/javadoctools/disallowed-links.xml
+++ b/nbbuild/javadoctools/disallowed-links.xml
@@ -23,52 +23,189 @@
<!-- if you find a general URL from netbeans.org site that make sence to
reference, feel free
to add it here with accept='true'
-->
- <!-- link to any API changes are ok -->
- <filter
pattern="http://www\.netbeans\.org/download/dev/javadoc/apichanges\.html"
accept="true"/>
- <filter
pattern="http://www\.netbeans\.org/download/release41/javadoc/apichanges\.html"
accept="true"/>
- <filter
pattern="http://www\.netbeans\.org/download/[0-9]_[0-9]/javadoc/apichanges\.html"
accept="true"/>
- <filter
pattern="http://bits\.netbeans\.org/[0-9.]+/javadoc/apichanges\.html"
accept="true"/>
- <filter pattern="http://bits\.netbeans\.org/" accept="true"/>
- <!-- sources -->
- <filter pattern="http://www\.netbeans\.org/(unbranded-)?source/browse/.*"
accept="true"/>
- <filter pattern="http://hg\.netbeans\.org.*" accept="true"/>
- <filter pattern="http://openide\.netbeans\.org/versioning-policy\.html.*"
accept="true"/>
- <filter pattern="http://www\.netbeans\.org/issues/show_bug\.cgi.*"
accept="true"/>
- <filter pattern="http://openide\.netbeans\.org.*tutorial.*api-design.*"
accept="true"/>
- <filter pattern="http://openide\.netbeans\.org.*tutorial.*api.html.*"
accept="true"/>
- <filter pattern="http://platform\.netbeans\.org/" accept="true"/>
- <filter pattern="http://www\.netbeans\.org.products.ide.index.html"
accept="true"/>
- <filter pattern="http://mdr\.netbeans\.org/example\.html" accept="true"/>
- <filter pattern="http://mdr\.netbeans\.org/uml2mof.*" accept="true"/>
- <filter pattern="http://java\.netbeans\.org/models/java/java\.xml"
accept="true"/>
- <filter pattern="http://autoupdate\.netbeans\.org/nbm/nbm_package\.html.*"
accept="true"/>
- <!-- Winsys important documents -->
- <filter pattern="http://core\.netbeans\.org/windowsystem/.*html.*"
accept="true"/>
- <!-- UI specifications -->
- <filter pattern="http://ui\.netbeans\.org/docs/hi/javamdr/.*"
accept="true"/>
- <filter pattern="http://ui.netbeans.org/docs/ui/VersioningSpecification.*"
accept="true"/>
- <filter
pattern="http://ui\.netbeans\.org/docs/ui/code_folding/cf_uispec\.html"
accept="true"/>
- <!-- is used in generated question from arch.xml -->
- <filter
pattern="http://www\.netbeans\.org/community/guidelines/q-evangelism\.html"
accept="true"/>
- <!-- direct link to main website is ok as well -->
- <filter pattern="http://www\.netbeans\.org/" accept="true"/>
- <filter pattern="http://www\.netbeans\.org/community/lists/top\.html"
accept="true"/>
- <filter pattern="http://translatedfiles\.netbeans\.org/" accept="true"/>
- <!-- dtd are fine they cannot change anyway -->
- <filter pattern="http://www\.netbeans\.org/dtds/.*" accept="true"/>
- <filter pattern="http://www\.netbeans\.org/servlets/.*" accept="true"/>
- <filter pattern="http://openide\.netbeans\.org/proposals/.*"
accept="true"/>
- <!-- logger module uses references to real website pages -->
- <filter pattern="http://logger\.netbeans\.org/nonav/welcome/.*"
accept="true"/>
- <!-- allow xsd files -->
- <filter pattern="http://www\.netbeans\.org/ns/.*" accept="true"/>
- <!-- allow Project Design document -->
- <filter pattern="http://projects\.netbeans\.org/buildsys/.*"
accept="true"/>
- <filter pattern="http://platform\.netbeans\.org/articles/.*"
accept="true"/>
- <filter pattern="http://ui\.netbeans\.org/docs/ui/themes/themes\.html"
accept="true"/>
- <filter pattern="http://wiki.netbeans.org/.*" accept="true"/>
- <!-- Useful to point to open layer positions (see e.g. HOWTO-MIME.html):
-->
- <filter
pattern="http://deadlock\.netbeans\.org/hudson/job/nbms-and-javadoc/lastSuccessfulBuild/artifact/nbbuild/build/generated/layers\.txt"
accept="true"/>
- <filter
pattern="http://deadlock\.netbeans\.org/job/nbms-and-javadoc/lastSuccessfulBuild/artifact/nbbuild/build/generated/layers\.txt"
accept="true"/>
- <!-- forbid the rest of NetBeans sites -->
- <filter pattern="http://.*netbeans\.org/.*" accept="false"/>
+ <!-- issue tracking system -->
+
+ <filter pattern="https://bz\.apache\.org/netbeans/show_bug\.cgi\?id=.*"
accept="true"/>
+ <filter pattern="https://issues\.apache\.org/jira/browse/NETBEANS-\d+"
accept="true"/>
+
+ <!-- some ant issue linked -->
+ <filter pattern="https://bz\.apache\.org/bugzilla/show_bug\.cgi\?id=.*"
accept="true"/>
+ <!-- some sun jdk issue linked -->
+
+ <filter pattern="http://bugs\.sun\.com/bugdatabase/.*" accept="true"/>
+
+
+ <!-- version control ours and others -->
+ <filter pattern="https://github\.com/apache/netbeans.*" accept="true" />
+ <filter pattern="https://gitbox\.apache\.org/repos/asf\?p=netbeans\.git"
accept="true" />
+ <!-- transition -->
+ <filter pattern="https://github\.com/emilianbold/netbeans-releases/.*"
accept="true" />
+
+ <filter pattern="https://github\.com/graalvm/fastr" accept="true" />
+ <filter pattern="https://github\.com/graalvm/graalpython" accept="true" />
+ <filter pattern="https://github\.com/graalvm/truffleruby" accept="true" />
+ <filter pattern="https://github\.com/twall/jna" accept="true" />
+ <filter pattern="https://github\.com/openjdk/.*" accept="true" />
+ <filter pattern="https://github\.com/simpligility/.*" accept="true" />
+
+
+ <!-- project site we use -->
+ <filter pattern="https://bits\.netbeans\.org/html\+java/dev" accept="true"
/>
+ <filter pattern="https://graalvm\.org" accept="true" />
+ <filter pattern="https://freemarker\.apache\.org" accept="true" />
+ <filter pattern="https://felix\.apache\.org" accept="true" />
+ <filter pattern="https://ant\.apache\.org" accept="true" />
+ <filter pattern="https://ant\.apache\.org/manual/running\.html#sysprops"
accept="true" />
+ <filter pattern="https://ant\.apache\.org/manual/Types/antlib\.html"
accept="true" />
+
+ <filter pattern="https://river\.apache\.org" accept="true" /> <!-- jini -->
+ <filter pattern="http://findbugs\.sourceforge\.net" accept="true" />
+ <filter pattern="http://www\.saxproject\.org" accept="true" />
+ <filter pattern="https://www\.eclipse\.org/jgit" accept="true" />
+ <filter pattern="https://knockoutjs\.com" accept="true" />
+ <filter pattern="https://services\.gradle\.org/versions/all" accept="true"
/>
+
+ <!-- documentation API -->
+ <filter pattern="https://docs\.oracle\.com/javase.*" accept="true" />
+ <filter pattern="https://docs\.oracle\.com/javaee.*" accept="true" />
+ <filter pattern="https://docs\.microsoft\.com/.*" accept="true" />
+
+ <filter pattern="https://www\.graalvm\.org/truffle/javadoc/.*"
accept="true" />
+ <filter pattern="https://openjfx\.io/javadoc/.*" accept="true" />
+ <filter
pattern="https://www\.oracle\.com/technetwork/java/jaf-1-150219\.pdf*"
accept="true" />
+ <!-- javahelp documentation -->
+ <filter
pattern="https://docs\.oracle\.com/cd/E19253-01/819-0913/819-0913\.pdf"
accept="true" />
+ <!-- https://docs.oracle.com/javase/specs/ -->
+ <filter
pattern="https://www\.oracle\.com/java/technologies/jaxp-introduction\.html"
accept="true" />
+ <filter pattern="https://docs\.gradle\.org/.*" accept="true" />
+ <filter pattern="https://search\.maven\.org/search\?q=org\.netbeans\.api"
accept="true" />
+
+ <filter pattern="https://www\.ietf\.org/rfc/rfc3023\.txt" accept="true" />
+ <filter
pattern="https://www\.rfc-editor\.org/rfc/rfc4288\.html#section-4\.2"
accept="true" />
+ <filter pattern="https://www\.w3\.org/XML" accept="true" />
+ <filter pattern="https://openjdk\.org/projects/coin" accept="true" />
+
+ <filter
pattern="https://junit\.org/junit4/javadoc/latest/org/junit/Ignore\.html"
accept="true" />
+
+ <!-- wiki apidesing former netbeans sources -->
+ <filter pattern="http://wiki\.apidesign\.org/wiki/CodeInjection"
accept="true" />
+ <filter pattern="http://wiki\.apidesign\.org/wiki/Netbinox" accept="true"
/>
+ <filter pattern="http://wiki\.apidesign\.org/wiki/Privileged_API"
accept="true" />
+ <filter pattern="http://wiki\.apidesign\.org/wiki/Startup#Morning_Launch"
accept="true" />
+ <filter
pattern="http://wiki\.apidesign\.org/wiki/Startup#Multi_User_Initial_Launch"
accept="true" />
+ <filter pattern="http://wiki\.apidesign\.org/wiki/Startup" accept="true" />
+ <filter pattern="http://wiki\.apidesign\.org/wiki/Bck2Brwsr" accept="true"
/>
+ <filter pattern="http://wiki\.apidesign\.org/wiki/Netbinox" accept="true"
/>
+ <filter pattern="http://wiki\.apidesign\.org/wiki/OrderOfElements"
accept="true" />
+ <filter pattern="http://wiki\.apidesign\.org/wiki/ExtendingInterfaces"
accept="true" />
+ <filter
pattern="http://source\.apidesign\.org/hg/netbeans/misc/file/tip/platform/samples/window-system-groups"
accept="true" />
+ <filter
pattern="http://source\.apidesign\.org/hg/netbeans/misc/file/tip/platform/samples/window-system-basic"
accept="true" />
+
+
+ <!-- book -->
+ <filter pattern="https://leanpub\.com/nbp4beginners" accept="true" />
+ <filter pattern="https://www.martinfowler.com/articles/injection\.html"
accept="true" />
+ <filter pattern="https://software\.intel\.com/en-us/multi-os-engine"
accept="true" />
+
+
+ <!-- dtd and xsl -->
+ <filter pattern="http://www\.netbeans\.org/dtds/annotation-type-1_0\.dtd"
accept="true"/>
+ <filter pattern="http://www\.netbeans\.org/dtds/attributes-1_0\.dtd"
accept="true"/>
+ <filter pattern="http://www\.netbeans\.org/dtds/connection-1_0\.dtd"
accept="true"/>
+ <filter
pattern="http://www\.netbeans\.org/dtds/editor-palette-item-1_0\.dtd"
accept="true"/>
+ <filter pattern="http://www\.netbeans\.org/dtds/filesystem-1_0\.dtd"
accept="true"/>
+ <filter pattern="http://www\.netbeans\.org/dtds/filesystem-1_1\.dtd"
accept="true"/>
+ <filter pattern="http://www\.netbeans\.org/dtds/filesystem-1_2\.dtd"
accept="true"/>
+ <filter pattern="http://www\.netbeans\.org/dtds/group-properties2_0\.dtd"
accept="true"/>
+ <filter
pattern="http://www\.netbeans\.org/dtds/java-platformdefinition-1_0\.dtd"
accept="true"/>
+ <filter pattern="http://www\.netbeans\.org/dtds/jdbc-driver-1_1\.dtd"
accept="true"/>
+ <filter
pattern="http://www\.netbeans\.org/dtds/library-declaration-1_0\.dtd"
accept="true"/>
+ <filter pattern="http://www\.netbeans\.org/dtds/mode-properties2_0\.dtd"
accept="true"/>
+ <filter pattern="http://www\.netbeans\.org/dtds/module-auto-deps-1_0\.dtd"
accept="true"/>
+ <filter pattern="http://www\.netbeans\.org/dtds/module-status-1_0\.dtd"
accept="true"/>
+ <filter pattern="http://www\.netbeans\.org/dtds/properties-1_0\.dtd"
accept="true"/>
+ <filter pattern="http://www\.netbeans\.org/dtds/sessionsettings-1_0\.dtd"
accept="true"/>
+ <filter pattern="http://www\.netbeans\.org/dtds/tc_group2_0\.dtd"
accept="true"/>
+ <filter pattern="http://www\.netbeans\.org/dtds/tc_ref2_0\.dtd"
accept="true"/>
+ <filter
pattern="http://www\.netbeans\.org/dtds/windowmanager-properties2_0\.dtd"
accept="true"/>
+ <filter
pattern="http://www\.netbeans\.org/dtds/EditorFontsColors-1_1\.dtd"
accept="true"/>
+ <filter
pattern="http://www\.netbeans\.org/dtds/EditorKeyBindings-1_1\.dtd"
accept="true"/>
+ <filter
pattern="https://netbeans\.apache\.org/dtds/EditorFontsColors-1_2\.dtd"
accept="true"/>
+ <!-- xsd used in documentation -->
+ <filter
pattern="http://www\.netbeans\.org/ns/ant-project-libraries/1\.xsd"
accept="true"/>
+ <filter pattern="http://www\.netbeans\.org/ns/j2se-project/1\.xsd"
accept="true"/>
+ <filter pattern="http://www\.netbeans\.org/ns/j2se-project/2\.xsd"
accept="true"/>
+
+ <!-- j2ee dtd-->
+ <filter pattern="http://java\.sun\.com/dtd/.*" accept="true"/>
+ <filter pattern="http://java\.sun\.com/j2ee/dtds/.*" accept="true"/>
+ <filter pattern="https://www\.oracle\.com/webfolder/technetwork/.*"
accept="true"/>
+ <filter pattern="http://www\.oracle\.com/webfolder/technetwork/.*"
accept="true"/>
+ <filter pattern="https://jcp\.org/aboutJava/communityprocess/.*"
accept="true"/>
+
+
+ <!-- not in website
+
+ -->
+ <!-- wiki pagess -->
+ <filter pattern="https://netbeans\.apache\.org/wiki/API_Stability#private"
accept="true"/>
+ <filter pattern="https://netbeans\.apache\.org/wiki/API_Stability#friend"
accept="true"/>
+ <filter pattern="https://netbeans\.apache\.org/wiki/API_Stability#devel"
accept="true"/>
+ <filter pattern="https://netbeans\.apache\.org/wiki/API_Stability#stable"
accept="true"/>
+ <filter
pattern="https://netbeans\.apache\.org/wiki/API_Stability#official"
accept="true"/>
+ <filter
pattern="https://netbeans\.apache\.org/wiki/API_Stability#third_party"
accept="true"/>
+ <filter
pattern="https://netbeans\.apache\.org/wiki/API_Stability#standard"
accept="true"/>
+ <filter
pattern="https://netbeans\.apache\.org/wiki/API_Stability#deprecated"
accept="true"/>
+ <filter pattern="https://netbeans\.apache\.org/wiki/API_Stability"
accept="true"/>
+
+ <filter
pattern="https://netbeans\.apache\.org/wiki/API_Design#Separate_API_for_clients_from_support_API"
accept="true"/>
+ <filter
pattern="https://netbeans\.apache\.org/wiki/API_Design#The_Importance_of_Being_Use_Case_Oriented"
accept="true"/>
+ <filter
pattern="https://netbeans\.apache\.org/wiki/API_Design#What_is_an_API"
accept="true"/>
+ <filter pattern="https://netbeans\.apache\.org/wiki/API_Design"
accept="true"/>
+
+ <filter pattern="https://netbeans\.apache\.org/wiki/APIDevelopment"
accept="true"/>
+ <filter pattern="https://netbeans\.apache\.org/wiki/Authenticator"
accept="true"/>
+ <filter pattern="https://netbeans\.apache\.org/wiki/FitnessViaPostMortem"
accept="true"/>
+ <filter
pattern="https://netbeans\.apache\.org/wiki/FitnessViaTimersCounter"
accept="true"/>
+ <filter
pattern="https://netbeans\.apache\.org/wiki/VersioningPolicy#Compatible_change_on_the_trunk"
accept="true"/>
+ <filter pattern="https://netbeans\.apache\.org/wiki/SignatureTest"
accept="true"/>
+ <filter
pattern="https://netbeans\.apache\.org/wiki/DevFaqNetBeansFullHack"
accept="true"/>
+ <filter
pattern="https://netbeans\.apache\.org/wiki/RunConfigurations49636"
accept="true"/>
+ <filter pattern="https://netbeans\.apache\.org/wiki/ParsingAPI"
accept="true"/>
+ <filter pattern="https://netbeans\.apache\.org/wiki/BugtrackingCookbook"
accept="true"/>
+ <filter
pattern="https://netbeans\.apache\.org/wiki/TaskManagementUseCases"
accept="true"/>
+ <filter
pattern="https://netbeans\.apache\.org/wiki/TaskDashboardDesignSpec"
accept="true"/>
+ <filter
pattern="https://netbeans\.apache\.org/wiki/BugtrackingAPISPIUseCases"
accept="true"/>
+ <filter pattern="https://netbeans\.apache\.org/wiki/Java_DevelopersGuide"
accept="true"/>
+ <filter pattern="https://netbeans\.apache\.org/wiki/FolderOrdering103187"
accept="true"/>
+ <filter
pattern="https://netbeans\.apache\.org/wiki/DevFaqActionContextSensitive"
accept="true"/>
+ <filter pattern="https://netbeans\.apache\.org/wiki/DevFaqLookupDefault"
accept="true"/>
+ <filter
pattern="https://netbeans\.apache\.org/wiki/DevFaqAddGlobalContext"
accept="true"/>
+ <filter
pattern="https://netbeans\.apache\.org/wiki/BackwardCompatibilityPatches"
accept="true"/>
+ <filter pattern="https://netbeans\.apache\.org/wiki/BuildSystemHowTo"
accept="true"/>
+ <filter pattern="https://netbeans\.apache\.org/wiki/JavaHT_Modification"
accept="true"/>
+
+ <filter pattern="https://en\.wikipedia\.org/wiki/Proxy_auto-config"
accept="true"/>
+ <filter
pattern="https://en\.wikipedia\.org/wiki/Web_Proxy_Auto-Discovery_Protocol"
accept="true"/>
+ <filter pattern="https://en\.wikipedia\.org/wiki/ANSI_escape_code"
accept="true"/>
+
+ <!-- main site links page -->
+ <filter pattern="https://netbeans\.apache\.org/tutorials/.*"
accept="true"/>
+ <filter pattern="https://netbeans\.apache\.org/kb/.*" accept="true"/>
+ <filter
pattern="https://netbeans\.apache\.org/participate/qualityevangelism\.html*"
accept="true"/>
+ <filter pattern="https://netbeans\.apache\.org" accept="true"/>
+ <filter pattern="https://netbeans\.apache\.org/download/index\.html"
accept="true"/>
+
+ <!-- old blog entry -->
+ <filter pattern="https://netbeans\.apache\.org/blogs/.*" accept="true"/>
+ <!-- old projects entry -->
+ <filter pattern="https://netbeans\.apache\.org/projects/.*" accept="true"/>
+
+ <!-- jenkins page -->
+ <filter
pattern="https://ci-builds\.apache\.org/job/Netbeans/job/netbeans-linux/lastSuccessfulBuild/artifact/nbbuild/build/generated/layers\.txt"
accept="true"/>
+
+ <!-- ui gesture -->
+ <filter pattern="http://www\.netbeans\.org/servlets/Join" accept="false"/>
+ <!-- all other links are disallowed -->
+ <filter pattern="https://.*" accept="false"/>
+ <filter pattern="http://.*" accept="false"/>
diff --git a/nbbuild/javadoctools/export2color.xsl
b/nbbuild/javadoctools/export2color.xsl
index d43d1ebd8f..90dcc9447b 100644
--- a/nbbuild/javadoctools/export2color.xsl
+++ b/nbbuild/javadoctools/export2color.xsl
@@ -27,30 +27,30 @@
<xsl:when test="descendant::api[@category='stable' and
@group='java' and @type='export']"><![CDATA[
stability.color=#ffffff
stability.title=Stable
-stability.definition.url=http://wiki.netbeans.org/API_Stability#Stable
+stability.definition.url=https://netbeans.apache.org/wiki/API_Stability#stable
]]></xsl:when>
<xsl:when test="descendant::api[@category='official' and
@group='java' and @type='export']"><![CDATA[
stability.color=#ffffff
stability.title=Official
-stability.definition.url=http://wiki.netbeans.org/API_Stability#Official
+stability.definition.url=https://netbeans.apache.org/wiki/API_Stability#official
]]></xsl:when>
<xsl:when test="descendant::api[@category='devel' and
@group='java' and @type='export']"><![CDATA[
stability.color=#ddcc80
stability.image=resources/stability-devel.png
stability.title=Under Development
-stability.definition.url=http://wiki.netbeans.org/API_Stability#Devel
+stability.definition.url=https://netbeans.apache.org/wiki/API_Stability#devel
]]></xsl:when>
<xsl:when test="descendant::api[@category='deprecated' and
@group='java' and @type='export']"><![CDATA[
stability.color=#afafaf
stability.image=resources/stability-deprecated.png
stability.title=Deprecated
-stability.definition.url=http://wiki.netbeans.org/API_Stability#Deprecated
+stability.definition.url=https://netbeans.apache.org/wiki/API_Stability#deprecated
]]></xsl:when>
<xsl:otherwise><![CDATA[
stability.color=#e0a0a0
stability.image=resources/stability-friend.png
stability.title=Friend, Private or Third Party
-stability.definition.url=http://wiki.netbeans.org/API_Stability#Friend
+stability.definition.url=https://netbeans.apache.org/wiki/API_Stability#friend
]]></xsl:otherwise>
</xsl:choose>
</xsl:template>
diff --git a/nbbuild/javadoctools/export2html.xsl
b/nbbuild/javadoctools/export2html.xsl
index e27054cba1..99617fca11 100644
--- a/nbbuild/javadoctools/export2html.xsl
+++ b/nbbuild/javadoctools/export2html.xsl
@@ -82,24 +82,24 @@
This document provides a list of <em>NetBeans APIs</em> with a
short description
of what they are used for, and a table describing different
types of interfaces
- (see <a href="http://wiki.netbeans.org/API_Design">What is
+ (see <a
href="https://netbeans.apache.org/wiki/API_Design">What is
an API?</a> to understand why we list DTDs, file formats,
etc.) and with
a stability category (<span style="background:#ffffff">stable
and official</span>,
<span style="background:#ddcc80">under development</span>,
<span
style="background:#afafaf;text-decoration:line-through">deprecated</span>,
<span style="background:#e0c0c0">friend or private</span>;
- see <a href="http://wiki.netbeans.org/API_Stability">API
+ see <a
href="https://netbeans.apache.org/wiki/API_Stability">API
stability</a> for more info).
The aim is to provide as detailed a definition of NetBeans
module
external interfaces as possible and give other developers a
chance to decide
whether they want to depend on a particular API or not.
<p/>
Some of these APIs are part of the
- <a href="http://platform.netbeans.org/">NetBeans Platform</a>
+ <a
href="https://netbeans.apache.org/kb/docs/platform/">NetBeans Platform</a>
(for example lookup,
loaders, utilities, nodes, explorer, window systems,
multiview, etc.), some of them
are specific to
- <a
href="http://www.netbeans.org/products/ide/index.html">NetBeans IDE</a>
+ <a href="https://netbeans.apache.org">NetBeans IDE</a>
(projects, javacore, diff, etc.) and some
are not included in the release at all and are just provided
for download
(usually via autoupdate). Basically when building an
application based on
@@ -213,7 +213,7 @@
<p/>
To get the API of your module listed here, see the
documentation for the
Javadoc building
- <a
href="http://wiki.netbeans.org/APIDevelopment">infrastructure</a>.
+ <a
href="https://netbeans.apache.org/wiki/APIDevelopment">infrastructure</a>.
<h4>Additional Sources of Information</h4>
@@ -310,7 +310,7 @@
</a>
</b>
- no API description provided
- (see <a
href="http://wiki.netbeans.org/APIDevelopment">how to do it</a>)
+ (see <a
href="https://netbeans.apache.org/wiki/APIDevelopment">how to do it</a>)
</li>
</xsl:otherwise>
</xsl:choose>
@@ -469,14 +469,28 @@
<td> <!-- stability category -->
<a>
<xsl:attribute name="href">
-
<xsl:text>http://wiki.netbeans.org/API_Stability#</xsl:text>
- <xsl:value-of select="$category" />
+
<xsl:text>https://netbeans.apache.org/wiki/API_Stability#</xsl:text>
+ <xsl:choose>
+ <xsl:when
test="$category='official'">official</xsl:when>
+ <xsl:when
test="$category='stable'">stable</xsl:when>
+ <xsl:when test="$category='devel'">devel</xsl:when>
+ <xsl:when
test="$category='third'">third_party</xsl:when>
+ <xsl:when
test="$category='standard'">standard</xsl:when>
+ <xsl:when
test="$category='friend'">friend</xsl:when>
+ <xsl:when
test="$category='private'">private</xsl:when>
+ <xsl:when
test="$category='deprecated'">deprecated</xsl:when>
+ <xsl:otherwise>
+ <xsl:message>
+ WARNING: <xsl:value-of select="$category"/>
+ </xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:attribute>
<xsl:choose>
<xsl:when
test="$category='official'">Official</xsl:when>
<xsl:when test="$category='stable'">Stable</xsl:when>
- <xsl:when test="$category='devel'">Devel</xsl:when>
- <xsl:when
test="$category='third'">Third_Party</xsl:when>
+ <xsl:when test="$category='devel'">Under
Development</xsl:when>
+ <xsl:when test="$category='third'">Third
party</xsl:when>
<xsl:when
test="$category='standard'">Standard</xsl:when>
<xsl:when test="$category='friend'">Friend</xsl:when>
<xsl:when test="$category='private'">Private</xsl:when>
diff --git a/nbbuild/javadoctools/export2index.xsl
b/nbbuild/javadoctools/export2index.xsl
index 3633bb3067..9e8292d67d 100644
--- a/nbbuild/javadoctools/export2index.xsl
+++ b/nbbuild/javadoctools/export2index.xsl
@@ -74,23 +74,23 @@
<div class="abstract">
This document provides a list of <em>NetBeans
APIs</em> with a short description
of what they are used for, and a table describing
different types of interfaces
- (see <a
href="http://wiki.netbeans.org/API_Design">What is
+ (see <a
href="https://netbeans.apache.org/wiki/API_Design">What is
an API?</a> to understand why we list DTDs,
file formats, etc.) and with
a stability category (<span
style="background:#ffffff">stable and official</span>,
<span style="background:#ddcc80">under
development</span>,
<span
style="background:#afafaf;text-decoration:line-through">deprecated</span>,
<span style="background:#e0c0c0">friend or
private</span>;
- see <a
href="http://wiki.netbeans.org/API_Stability">API stability</a> for more info).
+ see <a
href="https://netbeans.apache.org/wiki/API_Stability">API stability</a> for
more info).
The aim is to provide as detailed a definition of
NetBeans module
external interfaces as possible and give other
developers a chance to decide
whether they want to depend on a particular API or
not.
<p/>
Some of these APIs are part of the
- <a href="http://platform.netbeans.org/">NetBeans
Platform</a>
+ <a
href="https://netbeans.apache.org/kb/docs/platform/">NetBeans Platform</a>
(for example lookup,
loaders, utilities, nodes, explorer, window
systems, multiview, etc.), some of them
are specific to
- <a
href="http://www.netbeans.org/products/ide/index.html">NetBeans IDE</a>
+ <a href="https://netbeans.apache.org">NetBeans
IDE</a>
(projects, javacore, diff, etc.) and some
are not included in the release at all and are
just provided for download
(usually via autoupdate). Basically when building
an application based on
@@ -107,7 +107,7 @@
</xsl:with-param>
</xsl:call-template>
</p>-->
- <p>To get the API of your module listed here, see
the documentation for the Javadoc building <a
href="http://wiki.netbeans.org/APIDevelopment">infrastructure</a>.</p>
+ <p>To get the API of your module listed here, see
the documentation for the Javadoc building <a
href="https://netbeans.apache.org/wiki/APIDevelopment">infrastructure</a>.</p>
<p>Can't find what you're looking for? Try the <a
href="https://netbeans.apache.org" target="_top">Apache NetBeans
website</a>.</p>
</div>
@@ -182,7 +182,7 @@
</a>
</b>
- no API description provided
- (see <a
href="http://wiki.netbeans.org/APIDevelopment">how to do it</a>)
+ (see <a
href="https://netbeans.apache.org/wiki/APIDevelopment">how to do it</a>)
</li>
</xsl:otherwise>
</xsl:choose>
@@ -341,14 +341,28 @@
<td> <!-- stability category -->
<a>
<xsl:attribute name="href">
-
<xsl:text>http://wiki.netbeans.org/API_Stability#</xsl:text>
- <xsl:value-of select="$category" />
+
<xsl:text>https://netbeans.apache.org/wiki/API_Stability#</xsl:text>
+ <xsl:choose>
+ <xsl:when
test="$category='official'">official</xsl:when>
+ <xsl:when
test="$category='stable'">stable</xsl:when>
+ <xsl:when test="$category='devel'">devel</xsl:when>
+ <xsl:when
test="$category='third'">third_party</xsl:when>
+ <xsl:when
test="$category='standard'">standard</xsl:when>
+ <xsl:when
test="$category='friend'">friend</xsl:when>
+ <xsl:when
test="$category='private'">private</xsl:when>
+ <xsl:when
test="$category='deprecated'">deprecated</xsl:when>
+ <xsl:otherwise>
+ <xsl:message>
+ WARNING: <xsl:value-of select="$category"/>
+ </xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:attribute>
<xsl:choose>
<xsl:when
test="$category='official'">Official</xsl:when>
<xsl:when test="$category='stable'">Stable</xsl:when>
- <xsl:when test="$category='devel'">Devel</xsl:when>
- <xsl:when
test="$category='third'">Third_Party</xsl:when>
+ <xsl:when test="$category='devel'">Under
Development</xsl:when>
+ <xsl:when test="$category='third'">Third
party</xsl:when>
<xsl:when
test="$category='standard'">Standard</xsl:when>
<xsl:when test="$category='friend'">Friend</xsl:when>
<xsl:when test="$category='private'">Private</xsl:when>
diff --git a/nbbuild/javadoctools/exportOverview.xsl
b/nbbuild/javadoctools/exportOverview.xsl
index 2dca49598c..101127c88e 100644
--- a/nbbuild/javadoctools/exportOverview.xsl
+++ b/nbbuild/javadoctools/exportOverview.xsl
@@ -198,14 +198,28 @@
<td> <!-- stability category -->
<a>
<xsl:attribute name="href">
-
<xsl:text>http://wiki.netbeans.org/API_Stability#</xsl:text>
- <xsl:value-of select="$category" />
+
<xsl:text>https://netbeans.apache.org/wiki/API_Stability#</xsl:text>
+ <xsl:choose>
+ <xsl:when
test="$category='official'">official</xsl:when>
+ <xsl:when
test="$category='stable'">stable</xsl:when>
+ <xsl:when test="$category='devel'">devel</xsl:when>
+ <xsl:when
test="$category='third'">third_party</xsl:when>
+ <xsl:when
test="$category='standard'">standard</xsl:when>
+ <xsl:when
test="$category='friend'">friend</xsl:when>
+ <xsl:when
test="$category='private'">private</xsl:when>
+ <xsl:when
test="$category='deprecated'">deprecated</xsl:when>
+ <xsl:otherwise>
+ <xsl:message>
+ WARNING: <xsl:value-of select="$category"/>
+ </xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:attribute>
<xsl:choose>
<xsl:when
test="$category='official'">Official</xsl:when>
<xsl:when test="$category='stable'">Stable</xsl:when>
- <xsl:when test="$category='devel'">Devel</xsl:when>
- <xsl:when
test="$category='third'">Third_Party</xsl:when>
+ <xsl:when test="$category='devel'">Under
Development</xsl:when>
+ <xsl:when test="$category='third'">Third
party</xsl:when>
<xsl:when
test="$category='standard'">Standard</xsl:when>
<xsl:when test="$category='friend'">Friend</xsl:when>
<xsl:when test="$category='private'">Private</xsl:when>
diff --git a/nbbuild/javadoctools/links.xml b/nbbuild/javadoctools/links.xml
index 96e4fe059e..0a93906acb 100644
--- a/nbbuild/javadoctools/links.xml
+++ b/nbbuild/javadoctools/links.xml
@@ -241,3 +241,5 @@
<link href="${javadoc.docs.org-netbeans-modules-db-core}" offline="true"
packagelistloc="${netbeans.javadoc.dir}/org-netbeans-modules-db-core"/>
<link href="${javadoc.docs.org-netbeans-modules-nativeimage-api}"
offline="true"
packagelistloc="${netbeans.javadoc.dir}/org-netbeans-modules-nativeimage-api"/>
<link href="${javadoc.docs.org-netbeans-api-lsp}" offline="true"
packagelistloc="${netbeans.javadoc.dir}/org-netbeans-api-lsp"/>
+<link href="${javadoc.docs.org-netbeans-modules-java-j2seplatform}"
offline="true"
packagelistloc="${netbeans.javadoc.dir}/org-netbeans-modules-java-j2seplatform"/>
+<link href="${javadoc.docs.org-netbeans-modules-xml-wsdl-model}"
offline="true"
packagelistloc="${netbeans.javadoc.dir}/org-netbeans-modules-xml-wsdl-model"/>
diff --git a/nbbuild/javadoctools/properties.xml
b/nbbuild/javadoctools/properties.xml
index 65a0f95efe..850e5c87b2 100644
--- a/nbbuild/javadoctools/properties.xml
+++ b/nbbuild/javadoctools/properties.xml
@@ -238,3 +238,5 @@
<property name="javadoc.docs.org-netbeans-modules-db-core"
value="${javadoc.web.root}/org-netbeans-modules-db-core"/>
<property name="javadoc.docs.org-netbeans-modules-nativeimage-api"
value="${javadoc.web.root}/org-netbeans-modules-nativeimage-api"/>
<property name="javadoc.docs.org-netbeans-api-lsp"
value="${javadoc.web.root}/org-netbeans-api-lsp"/>
+<property name="javadoc.docs.org-netbeans-modules-java-j2seplatform"
value="${javadoc.web.root}/org-netbeans-modules-java-j2seplatform"/>
+<property name="javadoc.docs.org-netbeans-modules-xml-wsdl-model"
value="${javadoc.web.root}/org-netbeans-modules-xml-wsdl-model"/>
diff --git a/nbbuild/javadoctools/replaces.xml
b/nbbuild/javadoctools/replaces.xml
index e91145494c..c6471a423b 100644
--- a/nbbuild/javadoctools/replaces.xml
+++ b/nbbuild/javadoctools/replaces.xml
@@ -27,12 +27,11 @@
to decide whether such change shall be commited to the repository
or not
-->
-<replacefilter token="@org-openide-compat@"
value="${javadoc.docs.org-openide-compat}"/>
+
<replacefilter token="@org-openide-util@"
value="${javadoc.docs.org-openide-util}"/>
<replacefilter token="@org-openide-nodes@"
value="${javadoc.docs.org-openide-nodes}"/>
<replacefilter token="@org-netbeans-modules-nbjunit@"
value="${javadoc.docs.org-netbeans-modules-nbjunit}"/>
<replacefilter token="@org-openide-actions@"
value="${javadoc.docs.org-openide-actions}"/>
-<replacefilter token="@org-openide-options@"
value="${javadoc.docs.org-openide-options}"/>
<replacefilter token="@org-openide-awt@"
value="${javadoc.docs.org-openide-awt}"/>
<replacefilter token="@org-openide-dialogs@"
value="${javadoc.docs.org-openide-dialogs}"/>
<replacefilter token="@org-openide-explorer@"
value="${javadoc.docs.org-openide-explorer}"/>
@@ -42,7 +41,6 @@
<replacefilter token="@org-openide-loaders@"
value="${javadoc.docs.org-openide-loaders}"/>
<replacefilter token="@org-openide-io@"
value="${javadoc.docs.org-openide-io}"/>
<replacefilter token="@org-openide-execution@"
value="${javadoc.docs.org-openide-execution}"/>
-<replacefilter token="@org-openidex-util@"
value="${javadoc.docs.org-openidex-util}"/>
<replacefilter token="@org-apache-tools-ant-module@"
value="${javadoc.docs.org-apache-tools-ant-module}"/>
<replacefilter token="@org-netbeans-modules-javahelp@"
value="${javadoc.docs.org-netbeans-modules-javahelp}"/>
<replacefilter token="@org-netbeans-modules-settings@"
value="${javadoc.docs.org-netbeans-modules-settings}"/>
@@ -238,3 +236,11 @@
<replacefilter token="@org-netbeans-modules-db-core@"
value="${javadoc.docs.org-netbeans-modules-db-core}"/>
<replacefilter token="@org-netbeans-modules-nativeimage-api@"
value="${javadoc.docs.org-netbeans-modules-nativeimage-api}"/>
<replacefilter token="@org-netbeans-api-lsp@"
value="${javadoc.docs.org-netbeans-api-lsp}"/>
+<replacefilter token="@org-netbeans-modules-java-j2seplatform@"
value="${javadoc.docs.org-netbeans-modules-java-j2seplatform}"/>
+<replacefilter token="@org-netbeans-modules-xml-wsdl-model@"
value="${javadoc.docs.org-netbeans-modules-xml-wsdl-model}"/>
+<!-- deprecated -->
+<replacefilter token="@org-openidex-util@"
value="${javadoc.docs.org-openidex-util}"/>
+<!-- deprecated not linked-->
+<!-- replacefilter token="@org-openide-compat@"
value="${javadoc.docs.org-openide-compat}"/ -->
+<!-- replacefilter token="@org-openide-options@"
value="${javadoc.docs.org-openide-options}"/ -->
+<!-- unsorted filter -->
\ No newline at end of file
diff --git a/nbbuild/javadoctools/template.xml
b/nbbuild/javadoctools/template.xml
index f23003fd01..24f82886b0 100644
--- a/nbbuild/javadoctools/template.xml
+++ b/nbbuild/javadoctools/template.xml
@@ -62,9 +62,9 @@ cause it to fail.
</target>
<!-- javadoc -->
-
+
<target name="javadoc-init" >
-
+
<!-- Output dir (will create ${javadoc.name}/ and ${javadoc.name}.zip
beneath this): -->
<property name="javadoc.out" location="${netbeans.javadoc.dir}"/>
<property name="javadoc.out.dir"
location="${javadoc.out}/${javadoc.name}"/>
@@ -82,11 +82,10 @@ cause it to fail.
<mkdir dir="${javadoc.overview}/../" />
<property name="javadoc.apichanges" location="apichanges-empty.xml"/>
<property name="javadoc.arch" location="arch-empty.xml"/>
-
-
+
<!-- Docs to link to: -->
<property name="javadoc.web.root" value="http://root/"/>
- <property name="javadoc.docs.jdk"
value="http://download.oracle.com/javase/8/docs/api"/>
+ <property name="javadoc.docs.jdk"
value="https://docs.oracle.com/javase/8/docs/api"/>
&properties;
<!-- add more here as needed... -->
<property name="javadoc.css.dir" location="."/>
@@ -117,19 +116,19 @@ cause it to fail.
<isset property="stability.image"/>
</not>
</condition>
-
+
<mkdir dir="${javadoc.out.dir}"/>
-
+
<condition property="javadoc.files.provided">
<isset property="javadoc.files" />
</condition>
-
+
<!-- default value for javadoc-files -->
<selector id="all-java-files" >
<filename name="**/*.java" />
</selector>
<property name="javadoc.files" value="all-java-files" />
-
+
<property file="../build.properties" />
<condition property="javadoc.reference.generated" >
@@ -147,21 +146,21 @@ cause it to fail.
</concat>
<replace
- token="${netbeans.javadoc.dir}"
- value="$${netbeans.javadoc.dir}"
+ token="${netbeans.javadoc.dir}"
+ value="$${netbeans.javadoc.dir}"
file="links.xml"
/>
-
+
<!-- set the property for use in this script -->
<property name="javadoc.docs.${javadoc.name}"
value="${javadoc.web.root}/${javadoc.name}" />
</target>
-
+
<target name="javadoc-generate-overview"
depends="javadoc-init,javadoc-check-timestamps"
unless="javadoc.overview.should.not.be.generated" >
<delete file="${javadoc.overview}" />
<property file="${export.interfaces}/properties/all.properties" />
<arch xsl="exportOverview.xsl" answers="${javadoc.arch}"
output="${javadoc.overview}" stylesheet="prose.css"
- apichanges="${javadoc.apichanges}" project="${javadoc.project}"
+ apichanges="${javadoc.apichanges}" project="${javadoc.project}"
>
<!--
<param name="changes-since-year"
expression="${previous.release.year}"/>
@@ -243,7 +242,7 @@ cause it to fail.
<!-- if no packages are specified, this is used to generate index.html
from the overview page -->
<copy file="${javadoc.overview}"
tofile="${javadoc.out.dir}/index.html" />
</target>
-
+
<target name="javadoc-stage-main"
depends="javadoc-init,javadoc-check-timestamps,javadoc-exec-files,javadoc-exec-packages"
unless="javadoc.should.not.be.generated" >
<tstamp>
<format property="YEAR" pattern="yyyy"/>
@@ -263,7 +262,7 @@ cause it to fail.
<fileset refid="javadoc.resources.files"/>
</copy>
</target>
-
+
<target name="javadoc-exec-condition" depends="javadoc-check-timestamps" >
<condition property="javadoc.exec.packages">
<or>
@@ -280,12 +279,19 @@ cause it to fail.
<!-- Timestamp is handled in javadoc.css to avoid too many commits on
generated HTML files. -->
<property name="javadoc.footer" value='<span
class="footnote"></span><!-- See javadoc.css for timestamp
information -->'/>
</target>
+
+ <condition property="apidoc.check" value="true" else="false">
+ <isset property="apidocfullcheck"/>
+ <!-- CI parameter -->
+ <!-- fail on error and warning as error means no javadoc content and
missing page on bits.netbeans.org -->
+ </condition>
<target name="javadoc-exec-packages"
depends="javadoc-init,javadoc-generate-references,javadoc-generate-overview,javadoc-exec-condition,javadoc-check-timestamps,javadoc-make-plain-title,javadoc-make-hyperlinked-title,javadoc-exec-condition,-javadoc-set-footer"
unless="javadoc.exec.packages">
- <javadoc source="${javac.source}" author="false"
destdir="${javadoc.out.dir}" packagenames="${javadoc.packages}"
stylesheetfile="${javadoc.css.main}" windowtitle="${javadoc.title}"
overview="${javadoc.overview}" splitindex="true" use="true" version="false"
useexternalfile="true" encoding="UTF-8">
+ <javadoc source="${javac.source}" failonerror="${apidoc.check}"
failonwarning="${apidoc.check}" author="false" destdir="${javadoc.out.dir}"
packagenames="${javadoc.packages}" stylesheetfile="${javadoc.css.main}"
windowtitle="${javadoc.title}" overview="${javadoc.overview}" splitindex="true"
use="true" version="false" useexternalfile="true" encoding="UTF-8">
<sourcepath>
<pathelement location="${javadoc.docfiles}"/>
<pathelement location="${javadoc.src}"/>
+ <pathelement
location="${javadoc.src}/../build/classes-generated"/>
</sourcepath>
<doclet
name="org.apidesign.javadoc.codesnippet.Doclet"
@@ -293,7 +299,7 @@ cause it to fail.
>
<param name="-snippetpath" value="${javadoc.base}/src"/>
<param name="-snippetpath"
value="${javadoc.base}/test/unit/src"/>
- <param name="-maxLineLength" value="120"/>
+ <param name="-maxLineLength" value="240"/> <!-- 120 was too
short -->
<param name="-snippetmode" value="jep413"/>
</doclet>
<classpath path="${javadoc.classpath}"/>
@@ -308,7 +314,6 @@ cause it to fail.
<bottom>${javadoc.footer}</bottom>
<!-- Avoid timestamp comments in _all_ html generated files, to
reduce unnecessary git commits -->
<arg value="-notimestamp" />
- <arg value="--allow-script-in-comments" />
</javadoc>
</target>
@@ -369,12 +374,12 @@ cause it to fail.
</taskdef>
<!-- Warn about incorrect question version, but do not make build
fail: -->
<property name="arch.warn" value="true"/>
- <arch answers="${javadoc.arch}"
- output="${javadoc.out.dir}/architecture-summary.html"
- stylesheet="prose.css"
- overviewlink="overview-summary.html"
- footer="@FOOTER@"
- project="${javadoc.project}"
+ <arch answers="${javadoc.arch}"
+ output="${javadoc.out.dir}/architecture-summary.html"
+ stylesheet="prose.css"
+ overviewlink="overview-summary.html"
+ footer="@FOOTER@"
+ project="${javadoc.project}"
/>
</target>
@@ -401,9 +406,9 @@ cause it to fail.
</fileset>
</concat>
</target>
-
+
<target name="javadoc-stage-replace-apichanges"
depends="javadoc-stage-main,javadoc-generate-references,javadoc-stage-alternative,javadoc-stage-apichanges,javadoc-stage-arch,javadoc-stage-export-interfaces"
unless="javadoc.up.to.date" if="export.apichanges" >
- <replace dir="${export.apichanges}" >
+ <replace dir="${export.apichanges}" >
<include name="${javadoc.name}"/>
<replacefilter token="@JDK@" value="${javadoc.docs.jdk}"/>
<replacefilter token="@FOOTER@" value="${javadoc.footer}"/>
@@ -422,7 +427,7 @@ cause it to fail.
&replaces;
</replace>
</target>
-
+
<target name="javadoc-stage-replace"
depends="javadoc-stage-main,javadoc-generate-references,javadoc-stage-alternative,javadoc-stage-apichanges,javadoc-stage-arch,javadoc-stage-export-interfaces,javadoc-stage-replace-interfaces,javadoc-stage-replace-apichanges"
unless="javadoc.up.to.date">
<replace dir="${javadoc.out.dir}">
<include name="**/*.html"/>
@@ -430,7 +435,7 @@ cause it to fail.
&replaces;
<replacefilter token="@FOOTER@" value="${javadoc.footer}"/>
</replace>
-
+
<replace dir="${javadoc.out.dir}">
<include name="**/*.html"/>
<replacefilter token="http://root/" value="@TOP@.." />
@@ -442,6 +447,17 @@ cause it to fail.
<replace dir="${javadoc.out.dir}" token="@TOP@/" value="@TOP@">
<include name="**/*.html"/>
</replace>
+ <replaceregexp match="href=".*\@TOP\@"
replace="href="\@TOP\@" flags="g" >
+ <fileset dir="${javadoc.out.dir}"
includes="index-files/**/*.html"/>
+ </replaceregexp>
+ <replaceregexp match="href=".*\@TOP\@"
replace="href="\@TOP\@" flags="g" >
+ <fileset dir="${javadoc.out.dir}"
includes="**/**/deprecated-list.html"/>
+ </replaceregexp>
+ <replaceregexp match="href=".*\@TOP\@"
replace="href="\@TOP\@" flags="g" >
+ <fileset dir="${javadoc.out.dir}"
includes="**/**/class-use/*.html"/>
+ </replaceregexp>
+
+
<replace dir="${javadoc.out.dir}">
<replacetoken><![CDATA[<ul class="navList"
title="Navigation">]]></replacetoken>
<replacevalue><![CDATA[<ul class="navList"
title="Navigation"><li><a href="@[email protected]">API
Changes</a></li><li><a href="@[email protected]">Architecture
Summary</a></li>]]></replacevalue>
@@ -475,8 +491,14 @@ cause it to fail.
<replace dir="${javadoc.out.dir}" token="@TOP@"
value="../../../../../../../../">
<include name="*/*/*/*/*/*/*/*/*.html"/>
</replace>
+ <replace dir="${javadoc.out.dir}" token="@TOP@"
value="../../../../../../../../../">
+ <include name="*/*/*/*/*/*/*/*/*/*.html"/>
+ </replace>
+ <replace dir="${javadoc.out.dir}" token="@TOP@"
value="../../../../../../../../../../">
+ <include name="*/*/*/*/*/*/*/*/*/*/*.html"/>
+ </replace>
</target>
-
+
<target name="javadoc-stage-check" depends="javadoc-stage-replace"
unless="javadoc.up.to.date">
<taskdef name="checklinks" classname="org.netbeans.nbbuild.CheckLinks">
<classpath>
@@ -489,10 +511,12 @@ cause it to fail.
<include name="apichanges.html"/>
<include name="architecture-summary.html"/>
<include name="**/package-summary.html"/>
- <include name="**/doc-files/**/*.html"/>
+ <!--<include name="**/doc-files/**/*.html"/>-->
+ <include name="**/*.html"/>
<!-- XXX why are not all **/*.html checked? Would then need to
allow e.g. http://blogs.sun.com/geertjan/entry/swing_outline_component from
OutlineView.html -->
<!-- Make hyperlinks point to the source files, not the copied
files: -->
<!-- XXX but line numbers are wrong in several cases! -->
+ <!-- checking all html file for now on -->
<mapper type="glob"
from="${javadoc.out.dir}/overview-summary.html" to="${javadoc.arch}"/>
<mapper type="glob"
from="${javadoc.out.dir}/*/package-summary.html"
to="${javadoc.docfiles}/*/package.html"/>
<mapper type="glob"
from="${javadoc.out.dir}/*/package-summary.html"
to="${javadoc.src}/*/package.html"/>
@@ -501,7 +525,7 @@ cause it to fail.
<mapper type="glob" from="${javadoc.out.dir}/*.html"
to="${javadoc.docfiles}/*.html"/>
<mapper type="glob" from="${javadoc.out.dir}/*.html"
to="${javadoc.src}/*.html"/>
- &disallowed-links;
+ &disallowed-links;
</checklinks>
<!-- XXX run doctorj (doctorj.sf.net) if it is installed? -->
</target>
diff --git a/nbbuild/licenses/MIT-jsoup22 b/nbbuild/licenses/MIT-jsoup22
new file mode 100644
index 0000000000..71023ffb20
--- /dev/null
+++ b/nbbuild/licenses/MIT-jsoup22
@@ -0,0 +1,21 @@
+The MIT License
+
+Copyright (c) 2009-2022 Jonathan Hedley <[email protected]>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/nbbuild/nbproject/project.xml b/nbbuild/nbproject/project.xml
index fba343c8dd..b275928a62 100644
--- a/nbbuild/nbproject/project.xml
+++ b/nbbuild/nbproject/project.xml
@@ -208,7 +208,7 @@
<java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/4">
<compilation-unit>
<package-root>antsrc</package-root>
- <classpath
mode="compile">${ant.core.lib}:${nb_all}/platform/javahelp/external/jhall-2.0_05.jar:${nb_all}/nbbuild/external/json-simple-1.1.1.jar</classpath>
+ <classpath
mode="compile">${ant.core.lib}:${nb_all}/platform/javahelp/external/jhall-2.0_05.jar:${nb_all}/nbbuild/external/json-simple-1.1.1.jar:${nb_all}/nbbuild/external/external/jsoup-1.15.3.jar</classpath>
<built-to>${nb.build.dir}/antclasses</built-to>
<built-to>${nbantext.jar}</built-to>
<source-level>1.8</source-level>
diff --git a/nbbuild/test/unit/src/org/netbeans/nbbuild/ArchQuestionsTest.java
b/nbbuild/test/unit/src/org/netbeans/nbbuild/ArchQuestionsTest.java
index e4fd32f8e1..8886f578ce 100644
--- a/nbbuild/test/unit/src/org/netbeans/nbbuild/ArchQuestionsTest.java
+++ b/nbbuild/test/unit/src/org/netbeans/nbbuild/ArchQuestionsTest.java
@@ -189,7 +189,7 @@ public class ArchQuestionsTest extends TestBase implements
EntityResolver {
"Describe the overall architecture. \n" +
"<hint>\n" +
"What will be API for \n" +
- "<a
href='http://openide.netbeans.org/tutorial/api-design.html#design.apiandspi'>\n"
+
+ "<a
href='https://netbeans.apache.org/wiki/API_Design#Separate_API_for_clients_from_support_API'>\n"
+
"clients and what support API</a>? \n" +
"What parts will be pluggable?\n" +
"How will plug-ins be registered? Please use <code><api
type='export'/></code>\n" +
@@ -286,7 +286,7 @@ public class ArchQuestionsTest extends TestBase implements
EntityResolver {
"Describe the overall architecture. \n" +
"<hint>\n" +
"What will be API for \n" +
- "<a
href='http://openide.netbeans.org/tutorial/api-design.html#design.apiandspi'>\n"
+
+ "<a
href='https://netbeans.apache.org/wiki/API_Design#Separate_API_for_clients_from_support_API'>\n"
+
"clients and what support API</a>? \n" +
"What parts will be pluggable?\n" +
"How will plug-ins be registered? Please use <code><api
type='export'/></code>\n" +
diff --git a/nbbuild/test/unit/src/org/netbeans/nbbuild/arch-profiler.xml
b/nbbuild/test/unit/src/org/netbeans/nbbuild/arch-profiler.xml
index 9cf34b5088..df86dc83d3 100644
--- a/nbbuild/test/unit/src/org/netbeans/nbbuild/arch-profiler.xml
+++ b/nbbuild/test/unit/src/org/netbeans/nbbuild/arch-profiler.xml
@@ -36,7 +36,7 @@
Describe the overall architecture.
<hint>
What will be API for
- <a
href="http://openide.netbeans.org/tutorial/api-design.html#design.apiandspi">
+ <a
href="https://netbeans.apache.org/wiki/API_Design#Separate_API_for_clients_from_support_API">
clients and what support API</a>?
What parts will be pluggable?
How will plug-ins be registered? Please use <code><api
type="export"/></code>
@@ -77,7 +77,7 @@
<!--
<question id="arch-quality" when="init">
- How will the <a
href="http://www.netbeans.org/community/guidelines/q-evangelism.html">quality</a>
+ How will the <a
href="https://netbeans.apache.org/participate/qualityevangelism.html">quality</a>
of your code be tested and
how are future regressions going to be prevented?
<hint>
@@ -131,7 +131,7 @@
at the root of your javadoc
</hint>
- Describe the main <a
href="http://openide.netbeans.org/tutorial/api-design.html#usecase">
+ Describe the main <a
href="https://netbeans.apache.org/wiki/API_Design#The_Importance_of_Being_Use_Case_Oriented">
use cases</a> of the new API. Who will use it under
what circumstances? What kind of code would typically need to be
written
to use the module?
@@ -499,7 +499,7 @@
<hint>
If there is a property that can change the behavior of your
code, somebody will likely use it. You should describe what it does
- and the <a
href="http://openide.netbeans.org/tutorial/api-design.html#life">stability
category</a>
+ and the <a
href="https://netbeans.apache.org/wiki/API_Design#Life-cycle_of_an_API">stability
category</a>
of this API. You may use
<pre>
<api type="export" group="property" name="id"
category="private" url="http://...">
@@ -871,7 +871,7 @@
<hint>
As this is some kind of intermodule dependency, it is a kind of
API.
Please describe it and classify according to
- <a
href="http://openide.netbeans.org/tutorial/api-design.html#categories">
+ <a href="https://netbeans.apache.org/wiki/API_Design#categories">
common stability categories</a>.
</hint>
</question>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists