Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
NetBeans
Apache NetBeans
Commits
32193544
Unverified
Commit
32193544
authored
Nov 10, 2022
by
Neil C Smith
Committed by
GitHub
Nov 10, 2022
Browse files
Merge pull request #4937 from apache/delivery
Sync delivery to release160 for 16-rc4
parents
bb7bf3fd
09d92d6a
Changes
27
Hide whitespace changes
Inline
Side-by-side
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/resources/jakartaee_9.xsd
View file @
32193544
...
...
@@ -49,7 +49,7 @@
</xsd:annotation>
<xsd:import
namespace=
"http://www.w3.org/XML/1998/namespace"
schemaLocation=
"
http://www.w3.org/2001/
xml.xsd"
/>
schemaLocation=
"xml.xsd"
/>
<xsd:include
schemaLocation=
"jakartaee_web_services_client_2_0.xsd"
/>
...
...
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/resources/xml.xsd
View file @
32193544
<?xml version='1.0'?>
<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" >
<!--
W3C Software and Document Notice and License
This work is being provided by the copyright holders under the following license.
This work is being provided by the copyright holders under the following
license.
License
By obtaining and/or copying this work, you (the licensee) agree that you
have
read, understood, and will comply with the following terms and conditions.
By obtaining and/or copying this work, you (the licensee) agree that you
have
read, understood, and will comply with the following terms and conditions.
Permission to copy, modify, and distribute this work, with or without
modification, for any purpose and without fee or royalty is hereby granted,
...
...
@@ -18,18 +18,18 @@ thereof, including modifications:
- The full text of this NOTICE in a location viewable to users of the
redistributed or derivative work.
- Any pre-existing intellectual property disclaimers, notices, or terms
and
conditions. If none exist, the W3C Software and Document Short Notice
should
be included.
- Notice of any changes or modifications, through a copyright statement
on the
new code or document such as "This software or document includes
material
copied from or derived from [title and URI of the W3C document].
- Any pre-existing intellectual property disclaimers, notices, or terms
and
conditions. If none exist, the W3C Software and Document Short Notice
should
be included.
- Notice of any changes or modifications, through a copyright statement
on the
new code or document such as "This software or document includes
material
copied from or derived from [title and URI of the W3C document].
Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)."
Disclaimers
THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS
OR
WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF
THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS
OR
WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE
SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS,
TRADEMARKS OR OTHER RIGHTS.
...
...
@@ -37,68 +37,114 @@ TRADEMARKS OR OTHER RIGHTS.
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT.
The name and trademarks of copyright holders may NOT be used in advertising or
publicity pertaining to the work without specific, written prior permission.
Title to copyright in this work will at all times remain with copyright
holders.
The name and trademarks of copyright holders may NOT be used in advertising
or publicity pertaining to the work without specific, written prior
permission. Title to copyright in this work will at all times remain with
copyright holders.
-->
<xs:schema
targetNamespace=
"http://www.w3.org/XML/1998/namespace"
xmlns:xs=
"http://www.w3.org/2001/XMLSchema"
xml:lang=
"en"
>
<xs:schema
targetNamespace=
"http://www.w3.org/XML/1998/namespace"
xmlns:xs=
"http://www.w3.org/2001/XMLSchema"
xmlns =
"http://www.w3.org/1999/xhtml"
xml:lang=
"en"
>
<xs:annotation>
<xs:documentation>
See http://www.w3.org/XML/1998/namespace.html and
http://www.w3.org/TR/REC-xml for information about this namespace.
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>
This schema defines attributes and an attribute group
suitable for use by
schemas wishing to allow xml:base, xml:lang or xml:space attributes
on elements they define.
To enable this, such a schema must import this schema
for the XML namespace, e.g. as follows:
<
schema . . .>
. . .
<
import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
Subsequently, qualified reference to any of the attributes
or the group defined below will have the desired effect, e.g.
<
type . . .>
. . .
<
attributeGroup ref="xml:specialAttrs"/>
will define a type which will schema-validate an instance
element with any of those attributes
</xs:documentation>
</xs:annotation>
<div>
<h1>
About the XML namespace
</h1>
<xs:annotation>
<xs:documentation>
In keeping with the XML Schema WG's standard versioning
policy, this schema document will persist at
http://www.w3.org/2001/03/xml.xsd.
At the date of issue it can also be found at
http://www.w3.org/2001/xml.xsd.
The schema document at that URI may however change in the future,
in order to remain compatible with the latest version of XML Schema
itself. In other words, if the XML Schema namespace changes, the version
of this document at
http://www.w3.org/2001/xml.xsd will change
accordingly; the version at
http://www.w3.org/2001/03/xml.xsd will not change.
<div
class=
"bodytext"
>
<p>
This schema document describes the XML namespace, in a form
suitable for import by other schema documents.
</p>
<p>
See
<a
href=
"http://www.w3.org/XML/1998/namespace.html"
>
http://www.w3.org/XML/1998/namespace.html
</a>
and
<a
href=
"http://www.w3.org/TR/REC-xml"
>
http://www.w3.org/TR/REC-xml
</a>
for information
about this namespace.
</p>
<p>
Note that local names in this namespace are intended to be
defined only by the World Wide Web Consortium or its subgroups.
The names currently defined in this namespace are listed below.
They should not be used with conflicting semantics by any Working
Group, specification, or document instance.
</p>
<p>
See further below in this document for more information about
<a
href=
"#usage"
>
how to refer to this schema document from your own
XSD schema documents
</a>
and about
<a
href=
"#nsversioning"
>
the
namespace-versioning policy governing this schema document
</a>
.
</p>
</div>
</div>
</xs:documentation>
</xs:annotation>
<xs:attribute
name=
"lang"
type=
"xs:language"
>
<xs:attribute
name=
"lang"
>
<xs:annotation>
<xs:documentation>
In due course, we should install the relevant ISO 2- and 3-letter
codes as the enumerated possible values . . .
</xs:documentation>
<xs:documentation>
<div>
<h3>
lang (as an attribute name)
</h3>
<p>
denotes an attribute whose value
is a language code for the natural language of the content of
any element; its value is inherited. This name is reserved
by virtue of its definition in the XML specification.
</p>
</div>
<div>
<h4>
Notes
</h4>
<p>
Attempting to install the relevant ISO 2- and 3-letter
codes as the enumerated possible values is probably never
going to be a realistic possibility.
</p>
<p>
See BCP 47 at
<a
href=
"http://www.rfc-editor.org/rfc/bcp/bcp47.txt"
>
http://www.rfc-editor.org/rfc/bcp/bcp47.txt
</a>
and the IANA language subtag registry at
<a
href=
"http://www.iana.org/assignments/language-subtag-registry"
>
http://www.iana.org/assignments/language-subtag-registry
</a>
for further information.
</p>
<p>
The union allows for the 'un-declaration' of xml:lang with
the empty string.
</p>
</div>
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:union
memberTypes=
"xs:language"
>
<xs:simpleType>
<xs:restriction
base=
"xs:string"
>
<xs:enumeration
value=
""
/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:attribute>
<xs:attribute
name=
"space"
default=
"preserve"
>
<xs:attribute
name=
"space"
>
<xs:annotation>
<xs:documentation>
<div>
<h3>
space (as an attribute name)
</h3>
<p>
denotes an attribute whose
value is a keyword indicating what whitespace processing
discipline is intended for the content of the element; its
value is inherited. This name is reserved by virtue of its
definition in the XML specification.
</p>
</div>
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction
base=
"xs:NCName"
>
<xs:enumeration
value=
"default"
/>
...
...
@@ -107,10 +153,47 @@ holders.
</xs:simpleType>
</xs:attribute>
<xs:attribute
name=
"base"
type=
"xs:anyURI"
>
<xs:attribute
name=
"base"
type=
"xs:anyURI"
>
<xs:annotation>
<xs:documentation>
<div>
<h3>
base (as an attribute name)
</h3>
<p>
denotes an attribute whose value
provides a URI to be used as the base for interpreting any
relative URIs in the scope of the element on which it
appears; its value is inherited. This name is reserved
by virtue of its definition in the XML Base specification.
</p>
<p>
See
<a
href=
"http://www.w3.org/TR/xmlbase/"
>
http://www.w3.org/TR/xmlbase/
</a>
for information about this attribute.
</p>
</div>
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute
name=
"id"
type=
"xs:ID"
>
<xs:annotation>
<xs:documentation>
See http://www.w3.org/TR/xmlbase/ for
information about this attribute.
</xs:documentation>
<xs:documentation>
<div>
<h3>
id (as an attribute name)
</h3>
<p>
denotes an attribute whose value
should be interpreted as if declared to be of type ID.
This name is reserved by virtue of its definition in the
xml:id specification.
</p>
<p>
See
<a
href=
"http://www.w3.org/TR/xml-id/"
>
http://www.w3.org/TR/xml-id/
</a>
for information about this attribute.
</p>
</div>
</xs:documentation>
</xs:annotation>
</xs:attribute>
...
...
@@ -118,6 +201,129 @@ holders.
<xs:attribute
ref=
"xml:base"
/>
<xs:attribute
ref=
"xml:lang"
/>
<xs:attribute
ref=
"xml:space"
/>
<xs:attribute
ref=
"xml:id"
/>
</xs:attributeGroup>
<xs:annotation>
<xs:documentation>
<div>
<h3>
Father (in any context at all)
</h3>
<div
class=
"bodytext"
>
<p>
denotes Jon Bosak, the chair of
the original XML Working Group. This name is reserved by
the following decision of the W3C XML Plenary and
XML Coordination groups:
</p>
<blockquote>
<p>
In appreciation for his vision, leadership and
dedication the W3C XML Plenary on this 10th day of
February, 2000, reserves for Jon Bosak in perpetuity
the XML name "xml:Father".
</p>
</blockquote>
</div>
</div>
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>
<div
xml:id=
"usage"
id=
"usage"
>
<h2><a
name=
"usage"
>
About this schema document
</a></h2>
<div
class=
"bodytext"
>
<p>
This schema defines attributes and an attribute group suitable
for use by schemas wishing to allow
<code>
xml:base
</code>
,
<code>
xml:lang
</code>
,
<code>
xml:space
</code>
or
<code>
xml:id
</code>
attributes on elements they define.
</p>
<p>
To enable this, such a schema must import this schema for
the XML namespace, e.g. as follows:
</p>
<pre>
<
schema . . .>
. . .
<
import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/xml.xsd"/>
</pre>
<p>
or
</p>
<pre>
<
import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>
</pre>
<p>
Subsequently, qualified reference to any of the attributes or the
group defined below will have the desired effect, e.g.
</p>
<pre>
<
type . . .>
. . .
<
attributeGroup ref="xml:specialAttrs"/>
</pre>
<p>
will define a type which will schema-validate an instance element
with any of those attributes.
</p>
</div>
</div>
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>
<div
id=
"nsversioning"
xml:id=
"nsversioning"
>
<h2><a
name=
"nsversioning"
>
Versioning policy for this schema document
</a></h2>
<div
class=
"bodytext"
>
<p>
In keeping with the XML Schema WG's standard versioning
policy, this schema document will persist at
<a
href=
"http://www.w3.org/2009/01/xml.xsd"
>
http://www.w3.org/2009/01/xml.xsd
</a>
.
</p>
<p>
At the date of issue it can also be found at
<a
href=
"http://www.w3.org/2001/xml.xsd"
>
http://www.w3.org/2001/xml.xsd
</a>
.
</p>
<p>
The schema document at that URI may however change in the future,
in order to remain compatible with the latest version of XML
Schema itself, or with the XML namespace itself. In other words,
if the XML Schema or XML namespaces change, the version of this
document at
<a
href=
"http://www.w3.org/2001/xml.xsd"
>
http://www.w3.org/2001/xml.xsd
</a>
will change accordingly; the version at
<a
href=
"http://www.w3.org/2009/01/xml.xsd"
>
http://www.w3.org/2009/01/xml.xsd
</a>
will not change.
</p>
<p>
Previous dated (and unchanging) versions of this schema
document are at:
</p>
<ul>
<li><a
href=
"http://www.w3.org/2009/01/xml.xsd"
>
http://www.w3.org/2009/01/xml.xsd
</a></li>
<li><a
href=
"http://www.w3.org/2007/08/xml.xsd"
>
http://www.w3.org/2007/08/xml.xsd
</a></li>
<li><a
href=
"http://www.w3.org/2004/10/xml.xsd"
>
http://www.w3.org/2004/10/xml.xsd
</a></li>
<li><a
href=
"http://www.w3.org/2001/03/xml.xsd"
>
http://www.w3.org/2001/03/xml.xsd
</a></li>
</ul>
</div>
</div>
</xs:documentation>
</xs:annotation>
</xs:schema>
extide/gradle.editor/src/org/netbeans/modules/gradle/editor/cli/GradleCliCompletionProvider.java
View file @
32193544
...
...
@@ -68,6 +68,9 @@ public class GradleCliCompletionProvider implements CompletionProvider {
private
static
final
Pattern
PROP_INPUT
=
Pattern
.
compile
(
"\\$\\{([\\w.]*)$"
);
//NOI18N
private
static
final
String
INPUT_TOKEN
=
"input:"
;
//NOI18N
private
static
final
Set
<
GradleCommandLine
.
GradleOptionItem
>
GRADLE_OPTIONS
;
//TODO: Move this one to GradleCommandLine in NetBeans 17
public
static
final
String
GRADLE_PROJECT_PROPERTY
=
"gradle-project"
;
//NOI18N
static
{
Set
<
GradleCommandLine
.
GradleOptionItem
>
all
=
new
HashSet
<>();
...
...
@@ -105,7 +108,7 @@ public class GradleCliCompletionProvider implements CompletionProvider {
}
Project
project
=
null
;
Object
prop
=
doc
.
getProperty
(
Document
.
StreamDescriptionProperty
);
Object
prop
=
doc
.
getProperty
(
GRADLE_PROJECT_PROPERTY
);
if
(
prop
!=
null
&&
prop
instanceof
Project
)
{
project
=
(
Project
)
prop
;
}
...
...
extide/gradle.editor/src/org/netbeans/modules/gradle/editor/cli/GradleCliEditorKit.java
View file @
32193544
...
...
@@ -19,13 +19,15 @@
package
org.netbeans.modules.gradle.editor.cli
;
import
javax.swing.text.EditorKit
;
import
org.netbeans.api.editor.mimelookup.MimeRegistration
;
import
org.netbeans.modules.editor.NbEditorKit
;
/**
*
* @author lkishalmi
*/
@MimeRegistration
(
mimeType
=
GradleCliEditorKit
.
MIME_TYPE
,
service
=
EditorKit
.
class
)
public
class
GradleCliEditorKit
extends
NbEditorKit
{
public
static
final
String
MIME_TYPE
=
"text/x-gradle-cli"
;
//NOI18N
...
...
extide/gradle/netbeans-gradle-tooling/src/main/java/org/netbeans/modules/gradle/tooling/GradleInternalAdapter.java
0 → 100644
View file @
32193544
/*
* 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.
*/
package
org.netbeans.modules.gradle.tooling
;
import
java.lang.reflect.Method
;
import
java.util.HashSet
;
import
java.util.Map
;
import
java.util.Optional
;
import
java.util.Set
;
import
java.util.function.Supplier
;
import
org.gradle.api.NamedDomainObjectContainer
;
import
org.gradle.api.Project
;
import
org.gradle.api.internal.plugins.PluginManagerInternal
;
import
org.gradle.api.internal.plugins.PluginRegistry
;
import
org.gradle.api.internal.project.ProjectInternal
;
import
org.gradle.api.internal.provider.PropertyInternal
;
import
org.gradle.api.internal.provider.ProviderInternal
;
import
org.gradle.api.internal.provider.ValueSupplier
;
import
org.gradle.api.logging.LogLevel
;
import
org.gradle.api.logging.Logger
;
import
org.gradle.api.logging.Logging
;
import
org.gradle.api.reflect.HasPublicType
;
import
org.gradle.plugin.use.PluginId
;
import
org.gradle.util.VersionNumber
;
import
org.netbeans.modules.gradle.tooling.NbProjectInfoBuilder.ExceptionCallable
;
import
org.netbeans.modules.gradle.tooling.NbProjectInfoBuilder.ValueAndType
;
/**
* Adapts to various Gradle implementations. As *.internal.* interfaces may change between
* releases, operations on them may be customized by this Adapter. The adapter should be compiled
* against the Gradle distribution shipped with NetBeans, but should use reflection to access
* the relevant data if the internal API changes between versions.
*
* @author sdedic
*/
public
class
GradleInternalAdapter
{
private
static
final
Logger
LOG
=
Logging
.
getLogger
(
NbProjectInfoBuilder
.
class
);
private
final
Project
project
;
private
final
VersionNumber
gradleVersion
;
/**
* Accummulates error messages, so that just one problem is logger a given type of error.
*/
private
Set
<
String
>
reportedIncompatibilities
=
new
HashSet
<>();
protected
NbProjectInfoModel
model
;
/**
* Guards {@link #pluginManager} and {@link #registry} initialization
*/
protected
boolean
pluginsInitialized
;
protected
PluginManagerInternal
pluginManager
;
protected
PluginRegistry
registry
;
public
GradleInternalAdapter
(
Project
project
)
{
this
.
project
=
project
;
this
.
gradleVersion
=
VersionNumber
.
parse
(
project
.
getGradle
().
getGradleVersion
());
}
boolean
initPlugins
()
{
if
(!
pluginsInitialized
)
{
if
(
project
.
getPluginManager
()
instanceof
PluginManagerInternal
)
{
pluginManager
=
(
PluginManagerInternal
)
project
.
getPluginManager
();
}
if
(
project
instanceof
ProjectInternal
)
{
registry
=
safeCall
(()
->
((
ProjectInternal
)
project
).
getServices
().
get
(
PluginRegistry
.
class
),
"plugin registry"
).
orElse
(
null
);
}
else
{
registry
=
null
;
}
}
return
pluginManager
!=
null
;
}
public
void
setModel
(
NbProjectInfoModel
model
)
{
this
.
model
=
model
;
}
protected
boolean
isFixedValue
(
String
description
,
ValueSupplier
.
ExecutionTimeValue
etv
)
{
return
etv
.
isFixedValue
();
}
public
boolean
isMutableType
(
Object
potentialValue
)
{
if
(
potentialValue
instanceof
PropertyInternal
)
{
return
true
;
}
else
if
((
potentialValue
instanceof
NamedDomainObjectContainer
)
&&
(
potentialValue
instanceof
HasPublicType
))
{
return
true
;
}
else
if
(
potentialValue
instanceof
Iterable
||
potentialValue
instanceof
Map
)
{
return
true
;
}
return
false
;
}
public
boolean
hasPluginManager
()
{
return
initPlugins
();
}
public
ValueAndType
findPropertyValueInternal
(
String
propName
,
Object
val
)
{
return
safeCall
(()
->
{
if
(
val
instanceof
ProviderInternal
)
{
ProviderInternal
provided
=
(
ProviderInternal
)
val
;
ValueSupplier
.
ExecutionTimeValue
etv
;
try
{
etv
=
provided
.
calculateExecutionTimeValue
();
}
catch
(
RuntimeException
ex
)
{
// probably expected, ignore
return
new
ValueAndType
(
provided
.
getType
());
}
if
(
isFixedValue
(
"property "
+
propName
,
etv
))
{
return
new
ValueAndType
(
provided
.
getType
(),
etv
.
getFixedValue
());
}
else
{
return
new
ValueAndType
(
provided
.
getType
());
}
}
else
{
return
new
ValueAndType
(
val
!=
null
?
val
.
getClass
()
:
null
,
val
);
}
},
"property "
+
propName
).
orElse
(
null
);
}
@SuppressWarnings
(
"unchecked"
)
private
static
<
T
extends
Throwable
>
void
sneakyThrow
(
Throwable
exception
)
throws
T
{
throw
(
T
)
exception
;
}
private
<
T
,
E
extends
Throwable
>
T
sinceGradleOrDefault
(
String
version
,
NbProjectInfoBuilder
.
ExceptionCallable
<
T
,
E
>
c
,
Supplier
<
T
>
def
)
{
if
(
gradleVersion
.
compareTo
(
VersionNumber
.
parse
(
version
))
>=
0
)
{