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

Compare with Current View Page History

« Previous Version 54 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. Run 12.0 on JDK 14 and create a class like this, the syntax coloring should be not broken and the Navigator should show equals, hashCode, toString, x, y:

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

  • New JDK 13 Language Features

    • JEP 355: Switch Expressions (Preview Feature), as shown below, addition needed to Java Syntax Coloring test spec.



    • JEP 355: Text Blocks (Preview Feature), hint for converting to/from text blocks, as shown below, addition needed to Java Hints test spec for this.





      In the Options window, go to Fonts & Colors, choose Syntax, "Java" in Language drop-down, then change the Background to something different and then check that the new color is applied in the editor for text blocks.
  • New JDK 12 Language Features

    • JEP 325: Switch Expressions (Preview) – code completion for JEP-325 preview feature for multiple case labels, as shown below, addition needed to Java Code Completion test spec.

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



  • 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.

  • Miscellaneous New Java Editor Features

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

    • Support for inline parameter name hints for Java impacts the Java Editor test spec:

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.

  • JaCoCo integration with Maven works again, make sure to check that.

    <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

  • aaa

  • bbb

  • ccc


  • No labels