| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| |
| --> |
| |
| <?xml-stylesheet href="../../nbbuild/javadoctools/apichanges.xsl" type="text/xsl"?> |
| <!DOCTYPE apichanges PUBLIC "-//NetBeans//DTD API changes list 1.0//EN" "../../nbbuild/javadoctools/apichanges.dtd"> |
| |
| <!-- INFO FOR PEOPLE ADDING CHANGES: |
| [most of contents snipped - see openide's apichanges for how-to instructions] |
| <change> |
| <api name="compiler"/> |
| <summary>Some brief description here, can use <b>XHTML</b></summary> |
| <version major="1" minor="99"/> |
| <date day="13" month="6" year="2001"/> |
| <author login="jrhacker"/> |
| <compatibility addition="yes"/> |
| <description> |
| The main description of the change here. |
| Again can use full <b>XHTML</b> as needed. |
| </description> |
| <class package="org.openide.compiler" name="DoWhatIWantCompiler"/> |
| <issue number="14309"/> |
| </change> |
| --> |
| |
| <apichanges> |
| |
| <!-- First, a list of API names you may use: --> |
| <apidefs> |
| <apidef name="classpath">Classpath API</apidef> |
| <apidef name="queries">Source for binary and binary for source queries</apidef> |
| </apidefs> |
| |
| <!-- ACTUAL CHANGES BEGIN HERE: --> |
| |
| <changes> |
| <change id="BinaryForSourceQueryImplementation2"> |
| <api name="classpath"/> |
| <summary>Prefer binaries over sources when parsing</summary> |
| <version major="1" minor="58"/> |
| <date day="14" month="2" year="2019"/> |
| <author login="jtulach"/> |
| <compatibility addition="yes" modification="no" semantic="compatible" source="compatible" binary="compatible"/> |
| <description> |
| <p> |
| New <code>Result2</code> and new <code>BinaryForSourceQueryImplementation2</code> |
| that allows one to specify that binaries should be used instead |
| of compiling the sources (if the binaries are already compiled and |
| newer). |
| </p> |
| </description> |
| <class package="org.netbeans.api.java.queries" name="BinaryForSourceQuery"/> |
| <class package="org.netbeans.spi.java.queries" name="BinaryForSourceQueryImplementation2"/> |
| </change> |
| <change id="MultiplexClassPath"> |
| <api name="classpath"/> |
| <summary>Added a <code>ClassPath</code> switching among several <code>ClassPath</code> instances</summary> |
| <version major="1" minor="54"/> |
| <date day="4" month="10" year="2016"/> |
| <author login="tzezula"/> |
| <compatibility addition="yes" modification="no" semantic="compatible" source="compatible" binary="compatible"/> |
| <description> |
| <p> |
| Added a factory method into <code>ClassPathSupport</code> creating a <code>ClassPath</code> |
| switching among several <code>ClassPath</code> instances. |
| </p> |
| </description> |
| <class package="org.netbeans.spi.java.classpath.support" name="ClassPathSupport"/> |
| </change> |
| <change id="PathEmbeddingMode"> |
| <api name="classpath"/> |
| <summary>Added a policy for handling in archive paths</summary> |
| <version major="1" minor="52"/> |
| <date day="2" month="6" year="2015"/> |
| <author login="tzezula"/> |
| <compatibility addition="yes" modification="no" semantic="compatible" source="compatible" binary="compatible"/> |
| <description> |
| <p> |
| Added a policy for handling in archive paths while converting the <code>ClassPath</code> to <code>String</code>. |
| The <code>ClassPath.toString</code> takes a <code>PathEmbeddingMode</code> parameter determining how the in archive |
| path is handled. It can be included into stringified root, omitted from it, or handled as an invalid classpath root. |
| </p> |
| </description> |
| <class package="org.netbeans.api.java.classpath" name="ClassPath"/> |
| </change> |
| <change id="GlobalPathRegistryImplementation"> |
| <api name="classpath"/> |
| <summary>Added a SPI interface to allow different implementations of <code>GlobalPathRegistry</code></summary> |
| <version major="1" minor="48"/> |
| <date day="31" month="10" year="2014"/> |
| <author login="tzezula"/> |
| <compatibility addition="yes" modification="no" semantic="compatible" source="compatible" binary="compatible"/> |
| <description> |
| <p> |
| Added a SPI interface to allow different implementations of the <code>GlobalPathRegistry</code>. |
| The <code>GlobalPathRegistry</code> uses the first instance od the <code>GlobalPathRegistryImplementation</code> |
| registered in the global <code>Lookup</code> |
| </p> |
| </description> |
| <class package="org.netbeans.spi.java.classpath" name="GlobalPathRegistryImplementation"/> |
| </change> |
| <change id="ClassPath.getFlags"> |
| <api name="classpath"/> |
| <summary>Added ClassPath flags</summary> |
| <version major="1" minor="44"/> |
| <date day="21" month="8" year="2014"/> |
| <author login="tzezula"/> |
| <compatibility addition="yes" modification="no" semantic="compatible" source="compatible" binary="compatible"/> |
| <description> |
| <p> |
| Added flags to <code>ClassPath</code> |
| </p> |
| </description> |
| <class package="org.netbeans.api.java.classpath" name="ClassPath"/> |
| <class package="org.netbeans.spi.java.classpath" name="FlaggedClassPathImplementation"/> |
| <issue number="245155"/> |
| </change> |
| <change id="ClassPath.EMPTY"> |
| <api name="classpath"/> |
| <summary>Added a constant representing an empty ClassPath</summary> |
| <version major="1" minor="24"/> |
| <date day="5" month="2" year="2010"/> |
| <author login="tzezula"/> |
| <compatibility addition="yes" modification="no" semantic="compatible" source="compatible" binary="compatible"/> |
| <description> |
| <p> |
| Added a constant representing an empty ClassPath like java.util.Collections.EMPTY_LIST. |
| This ClassPath has no entries and never fires any events. |
| </p> |
| </description> |
| <issue number="179799"/> |
| </change> |
| <change id="classpath-api-module"> |
| <api name="classpath"/> |
| <summary>Splitting the java API to independent ClassPath API and the rest of the java API</summary> |
| <version major="1" minor="18"/> |
| <date day="5" month="6" year="2008"/> |
| <author login="tzezula"/> |
| <compatibility addition="no" modification="no" semantic="compatible" source="incompatible" binary="compatible"/> |
| <description> |
| <p> |
| The copy of the ClassPath API was used by generic scripting framework, which cannot depend on the java cluster. |
| To remove this copy of the ClassPath API the java API needs to be splitted into the ClassPath API (IDE cluster) |
| and the rest of the java API (java cluster). |
| </p> |
| </description> |
| <issue number="136169"/> |
| </change> |
| <change id="ClassPath.string"> |
| <api name="classpath"/> |
| <summary>Interconversions with string-format classpaths</summary> |
| <version major="1" minor="15"/> |
| <date day="17" month="3" year="2008"/> |
| <author login="jglick"/> |
| <compatibility addition="yes"/> |
| <description> |
| <p> |
| <code>ClassPath.toString(PathConversionMode)</code> and |
| <code>ClassPathSupport.createClassPath(String)</code> |
| can be used to easily convert between traditional string classpaths |
| and NetBeans' internal representation. |
| </p> |
| </description> |
| <class package="org.netbeans.api.java.classpath" name="ClassPath"/> |
| <class package="org.netbeans.spi.java.classpath.support" name="ClassPathSupport"/> |
| <issue number="59311"/> |
| </change> |
| <change id="queries-spi-support"> |
| <api name="queries"/> |
| <summary>Support for delegating SourceForBinaryQueryImplementation2</summary> |
| <version major="1" minor="16"/> |
| <date day="13" month="3" year="2008"/> |
| <author login="tzezula"/> |
| <compatibility addition="yes" modification="no" semantic="compatible" source="compatible" binary="compatible"/> |
| <description> |
| <p> |
| Added support base class for SourceForBinaryQueryImplementation2 which delegates to other SourceForBinaryQueryImplementations. |
| </p> |
| </description> |
| <class package="org.netbeans.spi.java.queries.support" name="SourceForBinaryQueryImpl2Base"/> |
| <issue number="129884"/> |
| </change> |
| <change id="source-for-binary-query2"> |
| <api name="queries"/> |
| <summary>Support for passing hint to the java infrastructure whether it should prefer source or binary</summary> |
| <version major="1" minor="15"/> |
| <date day="10" month="3" year="2008"/> |
| <author login="tzezula"/> |
| <compatibility addition="yes" modification="yes" semantic="compatible" source="compatible" binary="compatible"/> |
| <description> |
| <p> |
| It is possible for the SouceForBinaryQuery provider to specify whether the java module should prefer |
| sources or binaries. In general sources should be preferred for projects where user can make modification. |
| The binaries should be preferred for libraries and platforms where sources may not be complete or correct. |
| </p> |
| </description> |
| <class package="org.netbeans.api.java.queries" name="SourceForBinaryQuery"/> |
| <class package="org.netbeans.spi.java.queries" name="SourceForBinaryQueryImplementation2"/> |
| <issue number="128695"/> |
| </change> |
| <change id="includes-excludes.classpath"> |
| <api name="classpath"/> |
| <summary>Support for specifying classpath inclusion</summary> |
| <version major="1" minor="13"/> |
| <date day="1" month="3" year="2007"/> |
| <author login="jglick"/> |
| <compatibility addition="yes" modification="yes" semantic="incompatible" source="compatible" binary="compatible"> |
| <p> |
| It is possible for clients of existing <code>ClassPath</code> methods to have made |
| assumptions about their behavior that are no longer true. |
| </p> |
| </compatibility> |
| <description> |
| <p> |
| Classpath implementations can now specify which files and folders/packages to include |
| or exclude. (This could be used for binary classpaths such as <code>COMPILE</code> but |
| currently only excludes on <code>SOURCE</code> paths are honored by Java language features.) |
| </p> |
| </description> |
| <class package="org.netbeans.api.java.classpath" name="ClassPath"/> |
| <class package="org.netbeans.spi.java.classpath" name="FilteringPathResourceImplementation"/> |
| <issue number="49026"/> |
| </change> |
| |
| <change id="BinaryForSourceQuery"> |
| <api name="queries"/> |
| <summary>BinaryForSourceQuery returns folder(s) containing binaries for source rooot</summary> |
| <version major="1" minor="12"/> |
| <date day="8" month="2" year="2007"/> |
| <author login="tzezula"/> |
| <compatibility addition="yes"/> |
| <description> |
| <p> |
| The new API BinaryForSourceQuery was added to allow clients to find out the output (class files) |
| corresponding to source root. The query uses instances of a SPI interface BinaryForSourceQueryImplementation |
| registered in the system lookup to find out the binaries. When no binary is found it uses the default algorithm |
| (SFBQ.findSources(ClassPath.EXECUTE) == sourceRoot) |
| </p> |
| </description> |
| <class package="org.netbeans.api.java.queries" name="BinaryForSourceQuery"/> |
| <class package="org.netbeans.spi.java.queries" name="BinaryForSourceQueryImplementation"/> |
| </change> |
| <change id="ClassPath.buildsys"> |
| <api name="classpath"/> |
| <summary><code>ClassPath</code> API changed to be pluggable and better support build system</summary> |
| <version major="1" minor="4"/> |
| <date day="16" month="3" year="2004"/> |
| <author login="jglick"/> |
| <compatibility binary="compatible" source="compatible" semantic="incompatible" deprecation="yes" addition="yes" modification="yes"> |
| <p> |
| Code which just called <code>ClassPath.getClassPath</code> |
| and so on as API clients should still be safe, <em>but</em> |
| passing null as a reference file no longer works. |
| </p> |
| </compatibility> |
| <description> |
| <p> |
| <code>ClassPath</code> is now final, not abstract. (Not |
| incompatible, since the constructor was never public.) Same |
| for <code>ClassPath.Entry</code>. |
| </p> |
| <p> |
| <code>getClassPath</code> now looks for |
| <code>ClassPathProvider</code>s rather than delegating to the |
| filesystems mounted in <code>Repository</code>. |
| </p> |
| <p> |
| The classpath type <code>DEBUG</code> was deprecated. |
| <code>SOURCE</code> and <code>BOOT</code> were added. |
| </p> |
| <p> |
| <code>ClassPath.Entry.getURL()</code> was added. |
| </p> |
| <p> |
| There is a complete SPI for creating <code>ClassPath</code> |
| instances. |
| </p> |
| </description> |
| <class package="org.netbeans.api.java.classpath" name="ClassPath"/> |
| <class package="org.netbeans.spi.java.classpath" name="ClassPathProvider"/> |
| <class package="org.netbeans.spi.java.classpath" name="ClassPathFactory"/> |
| <class package="org.netbeans.spi.java.classpath" name="ClassPathImplementation"/> |
| <class package="org.netbeans.spi.java.classpath" name="PathResourceImplementation"/> |
| <class package="org.netbeans.spi.java.classpath.support" name="ClassPathSupport"/> |
| <class package="org.netbeans.spi.java.classpath.support" name="CompositePathResourceBase"/> |
| <class package="org.netbeans.spi.java.classpath.support" name="PathResourceBase"/> |
| </change> |
| <change id="GlobalPathRegistry"> |
| <api name="classpath"/> |
| <summary>Added <code>GlobalPathRegistry</code></summary> |
| <version major="1" minor="4"/> |
| <date day="16" month="3" year="2004"/> |
| <author login="jglick"/> |
| <compatibility> |
| <p> |
| Note that <code>GlobalPathRegistry</code> serves some of the |
| same functions as <code>Repository.default</code> used to, |
| but client code should be reviewed carefully for usage. |
| </p> |
| </compatibility> |
| <description> |
| Added a new class <code>GlobalPathRegistry</code> to represent |
| classpaths of current interest, typically from open projects. |
| </description> |
| <class package="org.netbeans.api.java.classpath" name="GlobalPathRegistry"/> |
| </change> |
| <change> |
| <api name="classpath"/> |
| <summary>ClassPath.getClassLoader method added</summary> |
| <version major="1" minor="2" subminor="1"/> |
| <date day="21" month="2" year="2003"/> |
| <author login="sdedic"/> |
| <compatibility semantic="compatible"/> |
| <description> |
| ClassPath.getClassLoader() method allows to get classloader capable of loading |
| classes from the ClassPath. |
| </description> |
| </change> |
| |
| <change> |
| <api name="classpath"/> |
| <summary>ClassPath.getClassPath is permitted to return null value</summary> |
| <version major="1" minor="2"/> |
| <date day="9" month="12" year="2002"/> |
| <author login="sdedic"/> |
| <compatibility semantic="incompatible"/> |
| <description> |
| ClassPath.getClassPath() documentation omitted the fact, that the method may |
| return <code>null</code>. Although the implementation functioned that way |
| from the beginning, it is considered an incompatible change (tightening of |
| the contract). |
| </description> |
| </change> |
| </changes> |
| |
| <!-- Now the surrounding HTML text and document structure: --> |
| |
| <htmlcontents> |
| <!-- |
| |
| NO NO NO NO NO! |
| |
| ==============> DO NOT EDIT ME! <====================== |
| |
| AUTOMATICALLY GENERATED FROM APICHANGES.XML, DO NOT EDIT |
| |
| SEE xml/api/doc/changes/apichanges.xml |
| |
| --> |
| <head> |
| <title>ClassPath API changes by date</title> |
| <link rel="stylesheet" href="prose.css" type="text/css"/> |
| </head> |
| <body> |
| |
| <p class="overviewlink"><a href="overview-summary.html">Overview</a></p> |
| |
| <h1>Introduction</h1> |
| |
| <p>This document lists changes made to the ClassPath APIs. Please ask on the |
| <code>dev@java.netbeans.org</code> or <code>nbdev@netbeans.org</code> |
| mailing list if you have any questions about the details of a |
| change, or are wondering how to convert existing code to be compatible.</p> |
| |
| <hr/><standard-changelists module-code-name="org.netbeans.api.java.classpath/1"/> |
| |
| <hr/><p>@FOOTER@</p> |
| |
| </body> |
| </htmlcontents> |
| </apichanges> |