Unverified Commit b3553a6f authored by Neil C Smith's avatar Neil C Smith Committed by GitHub
Browse files

Merge pull request #3514 from apache/delivery

Sync delivery to release130 for 13-rc3
parents 321d779a 3ff1e3d5
<?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.
-->
<licenseinfo>
<fileset>
<file>src/org/netbeans/modules/micronaut/resources/warning.png</file>
<file>src/org/netbeans/modules/micronaut/resources/micronaut.png</file>
<license ref="Apache-2.0-ASF" />
<comment type="COMMENT_UNSUPPORTED" />
</fileset>
</licenseinfo>
......@@ -45,47 +45,48 @@
<Layout>
<DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" attributes="0">
<EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Component id="javaVersionLabel" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="groupLabel" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="languageLabel" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="customRadioButton" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="artifactLabel" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="applicationTypeLabel" alignment="0" min="-2" pref="90" max="-2" attributes="0"/>
<Component id="versionLabel" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="snapshotRadioButton" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="defaultRadioButton" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="serviceURLLabel" min="-2" max="-2" attributes="0"/>
<Component id="testFrameworkLabel" alignment="0" min="-2" max="-2" attributes="0"/>
</Group>
<Group type="102" alignment="0" attributes="0">
<EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Component id="executeDownloadedCodeWarning" pref="0" max="32767" attributes="0"/>
<Group type="102" attributes="0">
<Group type="103" groupAlignment="0" max="-2" attributes="0">
<Component id="javaVersionLabel" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="groupLabel" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="languageLabel" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="customRadioButton" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="artifactLabel" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="versionLabel" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="snapshotRadioButton" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="defaultRadioButton" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="serviceURLLabel" max="32767" attributes="0"/>
<Component id="testFrameworkLabel" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="applicationTypeLabel" alignment="0" max="32767" attributes="0"/>
</Group>
<EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Component id="javaVersionComboBox" min="-2" pref="63" max="-2" attributes="0"/>
<Group type="102" alignment="0" attributes="0">
<Group type="103" groupAlignment="0" attributes="0">
<Component id="javaRadioButton" min="-2" pref="50" max="-2" attributes="0"/>
<Component id="junitRadioButton" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace min="-2" pref="18" max="-2" attributes="0"/>
<Group type="102" attributes="0">
<Group type="103" groupAlignment="0" attributes="0">
<Component id="spockRadioButton" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="kotlinRadioButton" alignment="0" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace type="separate" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Component id="groovyRadioButton" min="-2" max="-2" attributes="0"/>
<Component id="kotestRadioButton" min="-2" max="-2" attributes="0"/>
<Component id="javaVersionComboBox" min="-2" pref="63" max="-2" attributes="0"/>
<Group type="102" alignment="0" attributes="0">
<Group type="103" groupAlignment="0" attributes="0">
<Component id="javaRadioButton" min="-2" pref="50" max="-2" attributes="0"/>
<Component id="junitRadioButton" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace min="-2" pref="18" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Component id="spockRadioButton" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="kotlinRadioButton" alignment="0" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace type="separate" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Component id="groovyRadioButton" min="-2" max="-2" attributes="0"/>
<Component id="kotestRadioButton" min="-2" max="-2" attributes="0"/>
</Group>
</Group>
</Group>
<EmptySpace min="0" pref="332" max="32767" attributes="0"/>
</Group>
</Group>
<EmptySpace min="-2" pref="357" max="-2" attributes="0"/>
</Group>
<Group type="102" attributes="0">
<Group type="103" groupAlignment="0" attributes="0">
<Component id="defaultURLLabel" max="32767" attributes="0"/>
<Component id="versionTextField" max="32767" attributes="0"/>
<Component id="snapshotURLLabel" alignment="0" max="32767" attributes="0"/>
......@@ -94,9 +95,9 @@
<Component id="artifactTextField" alignment="1" max="32767" attributes="0"/>
<Component id="groupTextField" max="32767" attributes="0"/>
</Group>
<EmptySpace max="-2" attributes="0"/>
</Group>
</Group>
<EmptySpace max="-2" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
......@@ -127,7 +128,7 @@
</Group>
<EmptySpace type="separate" max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0">
<Component id="groupTextField" alignment="3" min="-2" pref="19" max="-2" attributes="0"/>
<Component id="groupTextField" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="groupLabel" alignment="3" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace max="-2" attributes="0"/>
......@@ -159,7 +160,9 @@
<Component id="spockRadioButton" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="kotestRadioButton" alignment="3" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace pref="28" max="32767" attributes="0"/>
<EmptySpace type="separate" max="-2" attributes="0"/>
<Component id="executeDownloadedCodeWarning" max="-2" attributes="0"/>
<EmptySpace pref="17" max="32767" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
......@@ -395,5 +398,30 @@
<Property name="actionCommand" type="java.lang.String" value="KOTEST"/>
</Properties>
</Component>
<Component class="javax.swing.JLabel" name="executeDownloadedCodeWarning">
<Properties>
<Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
<Color blue="8b" green="b8" red="f8" type="rgb"/>
</Property>
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
<Connection code="Color.black" type="code"/>
</Property>
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
<Connection code="ImageUtilities.loadImageIcon(&quot;org/netbeans/modules/micronaut/resources/warning.png&quot;, false)" type="code"/>
</Property>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/netbeans/modules/micronaut/newproject/Bundle.properties" key="MSG_executeDownloadedCodeWarning" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
<Border info="org.netbeans.modules.form.compat2.border.LineBorderInfo">
<LineBorder roundedCorners="true" thickness="5">
<Color PropertyName="color" blue="8b" green="b8" red="f8" type="rgb"/>
</LineBorder>
</Border>
</Property>
<Property name="opaque" type="boolean" value="true"/>
<Property name="verticalTextPosition" type="int" value="1"/>
</Properties>
</Component>
</SubComponents>
</Form>
......@@ -18,6 +18,7 @@
*/
package org.netbeans.modules.micronaut.newproject;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusAdapter;
......@@ -32,6 +33,7 @@ import javax.swing.event.DocumentListener;
import org.openide.WizardDescriptor;
import org.openide.WizardValidationException;
import org.openide.util.AsyncGUIJob;
import org.openide.util.ImageUtilities;
import org.openide.util.RequestProcessor;
/**
......@@ -110,6 +112,7 @@ public class BasePropertiesVisual extends JPanel implements DocumentListener, Ac
junitRadioButton = new javax.swing.JRadioButton();
spockRadioButton = new javax.swing.JRadioButton();
kotestRadioButton = new javax.swing.JRadioButton();
executeDownloadedCodeWarning = new javax.swing.JLabel();
org.openide.awt.Mnemonics.setLocalizedText(serviceURLLabel, org.openide.util.NbBundle.getMessage(BasePropertiesVisual.class, "LBL_ChooseServiceURL")); // NOI18N
......@@ -184,6 +187,14 @@ public class BasePropertiesVisual extends JPanel implements DocumentListener, Ac
org.openide.awt.Mnemonics.setLocalizedText(kotestRadioButton, org.openide.util.NbBundle.getMessage(BasePropertiesVisual.class, "LBL_Kotest")); // NOI18N
kotestRadioButton.setActionCommand("KOTEST");
executeDownloadedCodeWarning.setBackground(new java.awt.Color(248, 184, 139));
executeDownloadedCodeWarning.setForeground(Color.black);
executeDownloadedCodeWarning.setIcon(ImageUtilities.loadImageIcon("org/netbeans/modules/micronaut/resources/warning.png", false));
org.openide.awt.Mnemonics.setLocalizedText(executeDownloadedCodeWarning, org.openide.util.NbBundle.getMessage(BasePropertiesVisual.class, "MSG_executeDownloadedCodeWarning")); // NOI18N
executeDownloadedCodeWarning.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(248, 184, 139), 5, true));
executeDownloadedCodeWarning.setOpaque(true);
executeDownloadedCodeWarning.setVerticalTextPosition(javax.swing.SwingConstants.TOP);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
......@@ -191,45 +202,46 @@ public class BasePropertiesVisual extends JPanel implements DocumentListener, Ac
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(javaVersionLabel)
.addComponent(groupLabel)
.addComponent(languageLabel)
.addComponent(customRadioButton)
.addComponent(artifactLabel)
.addComponent(applicationTypeLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(versionLabel)
.addComponent(snapshotRadioButton)
.addComponent(defaultRadioButton)
.addComponent(serviceURLLabel)
.addComponent(testFrameworkLabel))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(executeDownloadedCodeWarning, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(javaVersionLabel)
.addComponent(groupLabel)
.addComponent(languageLabel)
.addComponent(customRadioButton)
.addComponent(artifactLabel)
.addComponent(versionLabel)
.addComponent(snapshotRadioButton)
.addComponent(defaultRadioButton)
.addComponent(serviceURLLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(testFrameworkLabel)
.addComponent(applicationTypeLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(javaVersionComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 63, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(javaRadioButton, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(junitRadioButton))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(spockRadioButton)
.addComponent(kotlinRadioButton))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(groovyRadioButton)
.addComponent(kotestRadioButton))))
.addGap(357, 357, 357))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(javaVersionComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 63, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(javaRadioButton, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(junitRadioButton))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(spockRadioButton)
.addComponent(kotlinRadioButton))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(groovyRadioButton)
.addComponent(kotestRadioButton))))
.addGap(0, 332, Short.MAX_VALUE))
.addComponent(defaultURLLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(versionTextField)
.addComponent(snapshotURLLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(customTextField)
.addComponent(applicationTypeComboBox, javax.swing.GroupLayout.Alignment.TRAILING, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(artifactTextField, javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(groupTextField))
.addContainerGap())))
.addComponent(groupTextField))))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
......@@ -254,7 +266,7 @@ public class BasePropertiesVisual extends JPanel implements DocumentListener, Ac
.addComponent(versionLabel))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(groupTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(groupTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(groupLabel))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
......@@ -280,7 +292,9 @@ public class BasePropertiesVisual extends JPanel implements DocumentListener, Ac
.addComponent(junitRadioButton)
.addComponent(spockRadioButton)
.addComponent(kotestRadioButton))
.addContainerGap(28, Short.MAX_VALUE))
.addGap(18, 18, 18)
.addComponent(executeDownloadedCodeWarning, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(17, Short.MAX_VALUE))
);
}// </editor-fold>//GEN-END:initComponents
......@@ -293,6 +307,7 @@ public class BasePropertiesVisual extends JPanel implements DocumentListener, Ac
private javax.swing.JTextField customTextField;
private javax.swing.JRadioButton defaultRadioButton;
private javax.swing.JLabel defaultURLLabel;
private javax.swing.JLabel executeDownloadedCodeWarning;
private javax.swing.JRadioButton groovyRadioButton;
private javax.swing.JLabel groupLabel;
private javax.swing.JTextField groupTextField;
......
......@@ -36,3 +36,4 @@ LBL_TestFramework=Test Framework:
LBL_JUnit=JUnit
LBL_Spock=Spock
LBL_Kotest=Kotest
MSG_executeDownloadedCodeWarning=<html>Only finish this dialog if you trust the chosen service. Code from that service is downloaded and executed on this machine.
......@@ -25,6 +25,8 @@ import java.io.OutputStream;
import java.util.Collections;
import java.util.NoSuchElementException;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import javax.swing.JComponent;
......@@ -52,6 +54,8 @@ import org.openide.util.Utilities;
@NbBundle.Messages("MicronautProject_DN=Micronaut Project")
public class MicronautProjectWizardIterator implements WizardDescriptor.ProgressInstantiatingIterator<WizardDescriptor> {
private static final Logger LOG = Logger.getLogger(MicronautProjectWizardIterator.class.getName());
@TemplateRegistration(folder = "Project/Maven2", position = 300, displayName = "#MicronautProject_DN", description = "MicronautMavenProjectDescription.html", iconBase = "org/netbeans/modules/micronaut/resources/micronaut.png")
public static class MavenMicronautProject extends MicronautProjectWizardIterator {
......@@ -222,6 +226,19 @@ public class MicronautProjectWizardIterator implements WizardDescriptor.Progress
FileObject fo = FileUtil.createData(folder, entryName);
try (OutputStream out = fo.getOutputStream()) {
FileUtil.copy(zis, out);
File backingFile = FileUtil.toFile(fo);
if (backingFile != null) {
// Workaround for limit of JDK API:
// https://bugs.openjdk.java.net/browse/JDK-6194856
// The alternative would be to use commons-compress
// but at this time only these two elements need to
// be executable
if (entryName.equals("mvnw") || entryName.equals("gradlew")) {
backingFile.setExecutable(true);
}
} else {
LOG.log(Level.WARNING, "FileObject is not backed by file, can not adjust permissions: {0}", fo.getPath());
}
}
}
}
......
<?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.
-->
<!-- Generator: Adobe Illustrator 23.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Vector_Icons" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
y="0px" width="16px" height="16px" viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
.st1{opacity:0.25;}
.st2{fill:#FAFAFA;}
.st3{opacity:0.33;}
.st4{fill:none;stroke:#474747;stroke-miterlimit:10;}
.st5{opacity:0.42;}
.st6{fill:#CAE3FF;}
.st7{opacity:0.2;}
.st8{opacity:0.03;}
.st9{opacity:0.1;}
.st10{opacity:0.15;}
.st11{opacity:0.45;}
.st12{fill:#FFE1B0;}
.st13{fill:#B3DBFF;}
.st14{fill:#FBDC7C;}
.st15{fill:#FFDB43;}
.st16{fill:#E79B00;}
.st17{fill:#3883CE;}
.st18{fill:none;stroke:#003399;stroke-width:1.375;stroke-miterlimit:10;}
.st19{fill:#E8513D;}
.st20{fill:#1E1E1E;}
.st21{fill:#FFC36D;}
.st22{fill:#9FCBFF;}
.st23{fill:#E9F7FF;}
.st24{fill:#62707C;}
.st25{fill:#7A8896;}
.st26{fill:#57BFFF;}
.st27{fill:#E69D35;}
.st28{fill:#9CFF73;}
.st29{fill:#4891CC;}
.st30{fill:#474747;}
.st31{fill:#CCA05E;}
.st32{opacity:0.67;}
.st33{opacity:0.3;}
.st34{fill:#EAEAEA;}
.st35{fill:#FFE945;}
.st36{fill:#FFCF8C;}
.st37{fill:#FF5252;}
.st38{opacity:0.12;}
.st39{fill:#45A5F4;}
.st40{fill:url(#SVGID_1_);}
.st41{fill:url(#SVGID_2_);}
.st42{opacity:0.05;}
.st43{fill:#3D81F5;}
.st44{fill:#CECECE;}
.st45{fill:#B5B5B5;}
.st46{opacity:0.4;}
.st47{fill:#595959;}
.st48{fill:#80FF80;}
.st49{fill:#C8FF80;}
.st50{fill:#FFEE80;}
.st51{fill:#FFA680;}
.st52{fill:#FF8080;}
.st53{fill:none;}
.st54{fill:#007AFF;}
.st55{fill:#EFFF78;}
.st56{fill:#FFDA00;}
.st57{fill:#3EADFF;}
.st58{opacity:0.67;fill:#FFFFFF;}
.st59{fill:#2E92FF;}
.st60{fill:#3AEA00;}
.st61{fill:#303030;}
</style>
<g>
<polygon class="st15" points="1.5,14 15.5,14 8.5,0.5 "/>
<g class="st3">
<path d="M8.5,2.672L13.855,13H3.145L8.5,2.672 M8.5,0.5L1.5,14h14L8.5,0.5L8.5,0.5z"/>
</g>
</g>
<path d="M8.495,12.15c-0.378,0-0.679-0.288-0.679-0.659c0-0.353,0.301-0.641,0.679-0.641c0.388,0,0.689,0.288,0.689,0.641
C9.184,11.862,8.883,12.15,8.495,12.15z"/>
<polygon points="8.05,9.75 7.9,5.75 9.1,5.75 8.95,9.75 "/>
</svg>
......@@ -54,8 +54,11 @@
</delete>
<!-- architecture of jvm on which app will run -->
<condition property="jvm.arch.string" value="64" else="">
<available file="${run.jdkhome}\jre\lib\amd64" />
<condition property="jvm.arch.string" value="" else="64">
<or>
<available file="${run.jdkhome}\bin\javaaccessbridge-32.dll" /> <!-- 32-bit Java 9+ -->
<available file="${run.jdkhome}\jre\bin\JavaAccessBridge-32.dll" /> <!-- 32-bit Java 8 -->
</or>
</condition>
<!-- use nb.exe if exists (old platform), netbeans.exe otherwise -->
......
......@@ -18,7 +18,7 @@
under the License.
-->
${doctype}
${doctype!""}
<#assign licenseFirst = "<!--">
<#assign licensePrefix = "">
<#assign licenseLast = "-->">
......
......@@ -23,7 +23,7 @@
<#assign licensePrefix = "">
<#assign licenseLast = "-->">
<#include "${project.licensePath}">
${doctype}
${doctype!""}
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>TODO supply a title</title>
......
......@@ -21,6 +21,7 @@ package org.netbeans.modules.java.hints.declarative.conditionapi;
import com.sun.source.tree.Tree;
import com.sun.source.util.TreePath;
import com.sun.source.util.Trees;
import org.netbeans.api.java.source.support.ErrorAwareTreePathScanner;
import java.util.Collection;
import java.util.LinkedList;
......@@ -90,26 +91,39 @@ public final class Matcher {
return result[0];
}
@SuppressWarnings("BoxedValueEquality")
public boolean referencedIn(@NonNull Variable variable, @NonNull Variable in) {
final Element e = ctx.ctx.getInfo().getTrees().getElement(ctx.getSingleVariable(variable));
final Trees trees = ctx.ctx.getInfo().getTrees();
final Element e = trees.getElement(ctx.getSingleVariable(variable));
if (e == null) { //TODO: check also error
return false;
}
for (TreePath tp : ctx.getVariable(in)) {
if (e.equals(trees.getElement(tp))) {
return true;
}
boolean occurs = new ErrorAwareTreePathScanner<Boolean, Void>() {
private boolean found = false;
@Override
public Boolean scan(Tree tree, Void p) {
if (found) {
return true; // fast path
}
if (tree == null) {
return false;
}
TreePath currentPath = new TreePath(getCurrentPath(), tree);
Element currentElement = ctx.ctx.getInfo().getTrees().getElement(currentPath);
Element currentElement = trees.getElement(currentPath);
if (e.equals(currentElement)) {
return true; //TODO: throwing an exception might be faster...
found = true;
return true;
}
return super.scan(tree, p);
......
/*
* 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