you shouldn't need nb-javac since the javac API is in the JDK.
build on JDK 11 or 17 and it should work. Java 17 however will require
some --add-opens flags added to your maven pom but has the most recent
javac API.
-mbien
On 05.02.22 17:14, Peter Nabbefeld wrote:
I still cannot build the example hint using maven.
Error:
[INFO] -------------------------------------------------------
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.my.custom.hints.JOptionPaneHintTest
Feb 05, 2022 5:06:15 PM org.netbeans.modules.masterfs.watcher.Watcher
getNotifierForPlatform
INFORMATION: Native file watcher is disabled
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed:
0.411 s <<< FAILURE! - in org.my.custom.hints.JOptionPaneHintTest
[ERROR] testWarningProduced(org.my.custom.hints.JOptionPaneHintTest)
Time elapsed: 0.346 s <<< ERROR!
java.lang.NoClassDefFoundError: com/sun/tools/javac/util/Abort
at
org.my.custom.hints.JOptionPaneHintTest.testWarningProduced(JOptionPaneHintTest.java:23)
Caused by: java.lang.ClassNotFoundException:
com.sun.tools.javac.util.Abort
at
org.my.custom.hints.JOptionPaneHintTest.testWarningProduced(JOptionPaneHintTest.java:23)
Trying to resolve the error by adding nb-javac dependencies results in:
[ERROR] Failures:
[ERROR] JOptionPaneHintTest.testWarningProduced:30 found JavaSource
for
/tmp/tests-peter/org.my.custom.hints.JOptionPaneHintTest/testWarningProduced/src/test/Test.java@3f9f1b68:bd8db5a
The error is logged in the generated test method.
However, the only available nb-javac-* modules available in maven
central repository are versioned RELEASE82, so they're probably wrong.
Probably someone has a working implementation of a Java Hint (as shown
in the tutorial at
https://netbeans.apache.org/tutorials/nbm-java-hint.html) based on Maven
or knows about some at Github?
Kind regards,
Peter
Am 30.01.22 um 21:22 schrieb Peter Nabbefeld:
Hm, strange, I'll try again next week-end, then. Thank You for helping!
Kind regards,
Peter
Am 30.01.22 um 21:14 schrieb Michael Bien:
I ran the tests which were generated by the wizzard before i gave you
the pom.
-mbien
On 30.01.22 20:45, Peter Nabbefeld wrote:
Thank You for the links, especially the example code looks really
helpful!
But I still have problems with the POM - the auto-generated testfile
fails to compile.
Kind regards,
Peter
/*
* To change this license header, choose License Headers in Project
Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package org.nb.hintdemo;
import org.junit.Test;
import org.netbeans.modules.java.hints.test.api.HintTest;
/* TODO to make this test work:
- to ensure that the newest Java language features supported by
the IDE are available,
regardless of which JDK you build the module with:
-- for Ant-based modules, add "requires.nb.javac=true" into
nbproject/project.properties
-- for Maven-based modules, use dependency:copy in validate phase
to create
target/endorsed/org-netbeans-libs-javacapi-*.jar and add to
endorseddirs
in maven-compiler-plugin and maven-surefire-plugin configuration
See: http://wiki.netbeans.org/JavaHintsTestMaven
*/
public class JOptionPaneHintTest {
@Test
public void testWarningProduced() throws Exception {
HintTest.create()
.input("package test;\n"
+ "public class Test {\n"
+ " public static void main(String[]
args) {\n"
+ " assert args[0].equals(\"\");\n"
+ " }\n"
+ "}\n")
.run(JOptionPaneHint.class)
.assertWarnings("3:23-3:29:verifier:" +
Bundle.ERR_JOptionPaneHint());
}
}
Am 30.01.22 um 20:07 schrieb Michael Bien:
On 30.01.22 19:43, Peter Nabbefeld wrote:
Hello Michael,
thank You for Your reply!
(1) I don't know about those .hint files, so especially I don't
know about how much complexity they can handle. Do You have a
link, probably?
the basics are explained here:
https://netbeans.apache.org/jackpot/HintsFileFormat.html
for some examples for hint files, i have a small collection of
general purpose hints here:
https://github.com/mbien/jackpot-inspections
(2) If complexity grows so that I cannot handle it with .hint
files, I'd still prefer to have a fallback solution with Java
classes, so adding the needed POM to the tutorial would still be
great.
i think its quicker if i give you a pom which works, you can diff
it yourself to figure out the... differences.
This will be able to build a newly created module with a hint in it
(JDK 8 or 11, please update group id etc).
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>dev.mbien</groupId>
<artifactId>hintmod</artifactId>
<version>0.1-SNAPSHOT</version>
<packaging>nbm</packaging>
<build>
<plugins>
<plugin>
<groupId>org.apache.netbeans.utilities</groupId>
<artifactId>nbm-maven-plugin</artifactId>
<version>4.6</version>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.2</version>
<configuration>
<archive>
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
</archive>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.netbeans.api</groupId>
<artifactId>org-netbeans-api-annotations-common</artifactId>
<version>RELEASE126</version>
</dependency>
<dependency>
<groupId>org.netbeans.api</groupId>
<artifactId>org-netbeans-modules-java-source-base</artifactId>
<version>RELEASE126</version>
</dependency>
<dependency>
<groupId>org.netbeans.api</groupId>
<artifactId>org-netbeans-modules-java-source</artifactId>
<version>RELEASE126</version>
</dependency>
<dependency>
<groupId>org.netbeans.api</groupId>
<artifactId>org-netbeans-spi-java-hints</artifactId>
<version>RELEASE126</version>
</dependency>
<dependency>
<groupId>org.netbeans.api</groupId>
<artifactId>org-netbeans-spi-editor-hints</artifactId>
<version>RELEASE126</version>
</dependency>
<dependency>
<groupId>org.netbeans.api</groupId>
<artifactId>org-openide-util</artifactId>
<version>RELEASE126</version>
</dependency>
<dependency>
<groupId>org.netbeans.api</groupId>
<artifactId>org-netbeans-libs-javacapi</artifactId>
<version>RELEASE126</version>
</dependency>
<dependency>
<groupId>org.netbeans.api</groupId>
<artifactId>org-netbeans-modules-java-hints-test</artifactId>
<version>RELEASE126</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.netbeans.api</groupId>
<artifactId>org-netbeans-libs-junit4</artifactId>
<version>RELEASE126</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.netbeans.api</groupId>
<artifactId>org-netbeans-modules-nbjunit</artifactId>
<version>RELEASE126</version>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
-mbien
---------------------------------------------------------------------
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
---------------------------------------------------------------------
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
---------------------------------------------------------------------
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
---------------------------------------------------------------------
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
---------------------------------------------------------------------
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
---------------------------------------------------------------------
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