You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 68 Next »

12.0 is primarily a consolidation of the minor releases 11.1, 11.2, and 11.3. There is as little innovation as possible in 12.0 and as much qualitative solidifying of existing features and functionality.

The program through which qualitative consolidation takes place for 12.0 is NetCAT 12.0.

Focus areas of qualitative consolidation in NetCAT 12.0.

  • Start up experience (new spec to be created that covers the Installer, including installing subsets, e.g., PHP only, start up experience, performance, etc, first impressions)
  • Java – prioritize new Java language features
  • Jakarta EE (including Payara)
  • JavaFX (with Maven, not Ant)
  • Maven
  • Gradle (no test spec for this yet, since this is a new feature)
  • PHP – focus on the newest PHP language features

In contrast to the above, some examples of areas to deprioritize (and if anyone disagrees, they are very welcome to focus on these areas themselves):

  • Ant
  • CVS/Subversion etc, i.e., anything not Git (and maybe Mercurial)
  • Form Editor/GUI Builder/Matisse

New Features and Enhancements – and Impact on NetCAT 12.0.

Being aware of the below is important when reviewing the test specs. Because the below are new, new tasks or updated tasks need to be provided to the related test specs:

Start up experience

  • Enhancement to the installer enables subsets of Apache NetBeans to be installed (from 11.2).

Java

  • New JDK 14 Language Features

    • JEP 359: Records (Preview), syntax coloring, Navigator support, and formatting of the new Java Records. 

      public class Foo {
          public record Bar(String x, int y) {
          }
      }



      Impacted NetCAT test spec: Java Editor
      Task to be added to test spec:
       Run 12.0 on JDK 14, make sure to uninstall nb-javac if installed, create a Maven application and enable preview features (explain how), and create a class like the above, copy/pasted from the test spec. The syntax coloring should be not broken and the Navigator should show equals, hashCode, toString, x, y, etc.
      Status: Done. Added as test case 1 in the new section 21, "Java Language Preview Features", of the Java Editor test spec.

  • New JDK 13 Language Features

    • JEP 355: Switch Expressions (Preview Feature), as shown below.



      Impacted NetCAT test spec: Java Editor
      Task to be added to test spec: Run 12.0 on JDK 13 or later, make sure to uninstall nb-javac if installed, create a Maven application and enable preview features (explain how), verify that the syntax colouring for switch expressions is correct by creating the code above, copy/paste from the test spec, and then seeing that the colors are like the above, not broken, no error markings.
      Status: to be done

    • JEP 355: Text Blocks (Preview Feature), hint for converting to/from text blocks.





      Impacted NetCAT test spec: Java Hints
      Task to be added to test spec: Run 12.0 on JDK 13 or later, make sure to uninstall nb-javac if installed, create a Maven application and enable preview features (explain how), and use code like the above, copy/pasted from test spec, to verify the hint works to/from text blocks.
      Status: to be done

      Impacted NetCAT test spec:
       Editor Options
      Task to be added to test spec: Run 12.0 on JDK 13 or later, make sure to uninstall nb-javac if installed, create a Maven application and enable preview features (explain how), create code like the above, go to the Options window, go to Fonts & Colors, choose Syntax, "Java" in Language drop-down, "Text Block" in Category list, then change the Background to something different and then check that the new color is applied in the editor for text blocks.
      Status: to be done

  • New JDK 12 Language Features

    • JEP 325: Switch Expressions (Preview) – code completion for JEP-325 preview feature for multiple case labels, as shown below.

      Impacted NetCAT test spec: Java Code Completion
      Task to be added to test spec: Run 12.0 on JDK 13 or later, make sure to uninstall nb-javac if installed, create a Maven application and enable preview features (explain how), and use code like the above, copy/pasted from test spec, to verify the code completion works as above.
      Status: to be done

      Hint for converting to JEP-325 preview feature for switch expressions:



      Impacted NetCAT test spec: Java Hints
      Task to be added to test spec: Run 12.0 on JDK 12 or later, make sure to uninstall nb-javac if installed, create a Maven application and enable preview features (explain how), and use code like the above, copy/pasted from test spec, to verify the hint works to/from switch expressions.
      Status: to be done
  • New JDK 11 Language Features

    • JEP 330: Launch Single-File Source-Code Programs – a new Java source file can be created in the Favorites window, it can be run, and debugged.

      Impacted NetCAT test spec: 
      Java Editor
      Task to be added to test spec: 
      Run 12.0 on JDK 11 or above, open the Favorites window, create a new Java source file, add some code, run it, and debug it.
      Status: 
      to be done
  • Miscellaneous New Java Editor Features

    • "main" is a new shortcut, that does the same as "psvm", i.e., creates 'public static void main'

      Impacted NetCAT test spec: Java Code Completion
      Task to be added to test spec: Run 12.0 on JDK 8 or above, create any kind of Java application, add a Java source file, type 'main', without the quotes, press Tab to complete it, and you should see "public static void main" constructor.
      Status: 
      to be done
    • Support for inline parameter name hints for Java impacts the Java Editor test spec:


      Impacted NetCAT test spec: Java Editor
      Task to be added to test spec: Select View | Show Inline Hints, add the code above, copy/pasted from the test spec, and you should see the inline hints 'str' and 'fromIndex', like shown above. 
      Status: 
      to be done

Java EE

  • Java EE 8 support, for the first time since 11.1, for Maven-based and Gradle-based Web applications. The new Java EE 8 support provides the ability to create Java EE 8 applications and deploy to a Java EE 8 container, with new "webapp-javaee8" Maven archetype created for use with Apache NetBeans.



  • Support for JSF 2.3; CDI Changes for JSF Artifact Injection (introduced in 11.3), e.g., f:websocket is now supported:



  • Payara integration out of the box for the first time, including Payara Platform 5.194/5.201 support and Payara Server Hot Deploy support.

  • Support for GlassFish 5.0.1.

JavaFX

  • The two OpenJFX Gluon Maven samples are now registered in the New Project dialog (from 11.2) – JavaFX test spec should be enhanced to try out these two samples and make sure they work.

Maven

  • Enabling Java preview features in a Maven project – new task needed in a Maven-related test spec, after creating new Java Maven project, the following must be added and then check whether one or more preview features (see above) can be used in the Java editor.
    <build>
       <plugins>
          <plugin>
              <artifactId>maven-compiler-plugin</artifactId>
              <version>3.8.0</version>
              <configuration>
                  <compilerArgs>
                        <arg>--enable-preview</arg>
                  </compilerArgs>
             </configuration>
         </plugin>
      </plugins>
    </build>

  • Related to the above, new hint in Java Editor to turn on Preview Features in Maven-based Java projects:



    When the above is clicked, i.e., this happens when a preview feature is recognized but the POM hasn't yet been updated to support it, the following is added to the POM:

    <build>
      <plugins>
        <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-compiler-plugin</artifactId>
           <version>3.3</version>
           <configuration>
              <compilerArgs>
                 <arg>--enable-preview</arg>
              </compilerArgs>
           </configuration>
        </plugin>
      </plugins>
    </build>

  • JaCoCo integration with Maven works again, make sure to check that during NetCAT 12.0 by adding a task around this in the Maven test spec.

    <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>0.8.3</version>
        <executions>
            <execution>
                <goals>
                    <goal>prepare-agent</goal>
                </goals>
            </execution>
            <execution>
                <id>report</id>
                <phase>prepare-package</phase>
                <goals>
                    <goal>report</goal>
                </goals>
                <configuration>
                   <outputDirectory>${project.reporting.outputDirectory}/jacoco_test</outputDirectory>
                </configuration>
            </execution>
        </executions>
    </plugin>

  • Maven-based NetBeans modules can be created again, this was broken, make sure this works again correctly.

  • Default JDK for Maven projects can be set.

Gradle

  • Enabling Java preview features in a Gradle project – new task needed in a new Gradle-related test spec, after creating new Java Gradle project, the following must be added and then check whether one or more preview features (see above) can be used in the Java editor.

    tasks.withType(JavaCompile).each {
        it.options.compilerArgs.add('--enable-preview')
    }
    
    run.jvmArgs(['--enable-preview'])


  • bbb

  • ccc

PHP

  • PHP 7.4 Language Features and some new hints: see 11.2 Feature: PHP



  • Autocomplete for PHP property and method without $this→



  • ccc


  • No labels