Java app developers, protect your intellectual property and improve the end-user experience. Get Excelsior JET.
 

Excelsior JET Maven and Gradle Plugins Reached 1.0

It always feels special when a project matures to a level justifying the first increment of its major version number. Meet Excelsior JET Maven and Gradle plugins 1.0!

As you may recall, we declared the previous version a Release Candidate, so the list of what we have done since its release is quite short:

  • Reworked plugin documentation and moved it to the respective wikis: Maven | Gradle
  • Tested both plugins against all platforms/editions that Excelsior JET 11.0 and 11.3 support
  • Fixed a handful of minor bugs reported by users and found during testing
  • Added support for the compiler parameter that controls allocation of Java objects on the stack, which we had somehow overlooked

I also have to make one

Backward Incompatible Change Alert

Beginning with version 1.0, Windows version-information resource generation is off by default. To revert to the pre-1.0 behavior, add the following to the plugin configuration:

Maven: <addWindowsVersionInfo>true</addWindowsVersionInfo>
Gradle: addWindowsVersionInfo = true

Links

Excelsior JET Maven Plugin:
Home page | on GitHub | on Maven Central

Excelsior JET Gradle Plugin:
Home page | on GitHub | on Maven Central

Future Plans

We have just a couple of items left on the plugins roadmap. What is interesting is that they are not among the current product features:

  • Multi-component support: building dependencies into separate native libraries to reuse them across multiple builds so as to reduce the overall compilation time, and
  • Code signing

However, please note that the development of the plugins will now have to pause for a few months, as the main contributor is speaking at several events this and next week and will then join others on the final push towards the summer release of Excelsior JET 12. But you are of course very welcome to request other features in the meantime.

Categories: Excelsior JET, News, Open Source

Tags: , ,

Excelsior JET 11.3 MP1 Adds Support for Java SE 8u121

Excelsior JET 11.3 Maintenance Pack 1 (MP1) fixes a few customer issues and adds support for Java SE 8 Update 121.

Read the rest of this entry »

Categories: Excelsior JET, Product Updates

Excelsior JET Maven and Gradle Plugins Release Candidates

We have updated Excelsior JET Maven and Gradle plugins to version 0.9.5. Here is what they now enable you to do:

  • Add separate files/folders to the package
  • Fully configure Excelsior Installer:

    • set installation wizard language
    • remove all files on uninstall
    • run an executable after installation
    • control installation package compression
    • change installation directory defaults
    • customize the registry key used for installation on Windows
    • add shortcuts to the Windows Start menu, Desktop, etc.
    • suppress the default post-install action
    • configure custom post-install actions
    • create file associations
    • specify install/uninstall callback dynamic libraries
    • customize the (un)installer appearance
  • Allow the user to change the Tomcat port at install time

Feature Freeze

The plugins now support all features accessible via the graphical interfaces (JET Control Panel and JetPackII), with three exceptions:

  1. Eclipse RCP support, because the Eclipse Tycho Maven Plugin graduated the incubation stage just a few days ago. We may support it in the future if there will be enough demand. As for Gradle, there is no such plugin in sight.
  2. Application update packaging, because we plan to overhaul that feature completely in the mid-term future.
  3. Localization of the Excelsior Installer wizard, because we have not yet found an easy-to-use way to configure it from the plugin.

There will be no more features added before the 1.0 release, so you can think of 0.9.5 as a Release Candidate. It is therefore a perfect time now to report any issues that you may have spotted in the plugins previously, but had no time to report back then. (Please check that they are still present in 0.9.5 before reporting.)

Future Plans

We have just a couple of items left on the plugins roadmap. What is interesting is that they are not among the current product features:

  • Multi-component support: building dependencies into separate native libraries to reuse them across multiple builds so as to reduce the overall compilation time, and
  • Code signing

However, please note that the development of the plugins will likely pause for a few weeks or months due to a priority shift. In the meantime, you are welcome to request other features.

Excelsior JET Maven Plugin:
Home page | on GitHub | on Maven Central

Excelsior JET Gradle Plugin:
Home page | on GitHub | on Maven Central

Categories: Excelsior JET, Open Source

Tags: , ,

Excelsior JET 10.5 EOL Alert

According to the Support Policy, Excelsior JET 10.5 has reached Product End Of Life status. We encourage customers of this version to migrate to more recent versions to receive the support services under valid Support Contracts.

If you need help in migrating to a newer version of Excelsior JET,
do not hesitate to contact us.

Categories: Excelsior JET, Product Updates

Excelsior JET Maven and Gradle Plugins Now Support Optimization Presets

We have updated Excelsior JET Maven and Gradle plugins to support optimization presets. When the Typical preset (default) is enabled, all classes from all dependencies get compiled to native code, unless you add compilation set control parameters for particular dependencies. The Smart preset enables library detection heuristics aimed at reducing compilation time and executable size. For more information, consult the README file of the plugin that you are using.

Note: Unlike the identically named preset in the JET Control Panel, the Smart preset does not enable the Global Optimizer.

Excelsior JET Maven Plugin:
Home page | on GitHub | on Maven Central

Excelsior JET Gradle Plugin:
Home page | on GitHub | on Maven Central

Categories: Excelsior JET, Open Source

Tags: , ,

Excelsior JET Maven And Gradle Plugins Support More Runtime Configurations

We have updated Excelsior JET Maven and Gradle plugins to support more runtime configurations. Now the users of those plugins also can:

  • Select the desired Excelsior JET Runtime flavor – Desktop, Server, or Classic
  • Change the default location of the Excelsior JET Runtime directory in the resulting package
  • Reduce application disk footprint (32-bit versions only)

Excelsior JET Maven Plugin:
Home page | on GitHub | on Maven Central

Excelsior JET Gradle Plugin:
Home page | on GitHub | on Maven Central

Categories: Excelsior JET, Open Source

Tags: , ,

Excelsior JET Maven And Gradle Plugins Now Support Compact Profiles

We have updated Excelsior JET Maven and Gradle plugins to support Java SE Compact Profiles.

Excelsior JET Maven Plugin:
Home page | on GitHub | on Maven Central

Excelsior JET Gradle Plugin:
Home page | on GitHub | on Maven Central

Categories: Excelsior JET, Open Source

Tags: , ,

From Excelsior Hack Day V: Git Autocomplete Plugin for Far Manager

Remember Norton Commander? You aren’t much younger than me then. If you don’t, Norton Commander was a file manager for MS-DOS that worked in text mode. It was initially released in 1986, and its pirated copies became ubiquitous in the Soviet Union. To the less computer-savvy people, Norton Commander was the operating system back then — they were literally unable to use a PC without it.

It therefore comes as no surprise that it was a Russian developer Eugene Roshal who created a Norton Commander clone for Windows. Globally Eugene is primarily recognized for the creation of the RAR archive format and the WinRAR archiver. But here, the product many of his fellow Russian developers and some non-developers, including myself and the rest of Excelsior, still use on a daily basis is Far Manager, usually shortened as “Far”. To us, Far is the real Windows Command Prompt.

One area where Far loses out to Bash is command line autocompletion, known to be a productivity boost to all Git users maintaining dozens of local branches. The good news are that Far can be extended with plugins, so a pair of our Far and Git fans decided to put its SDK to a good use during our recent annual hackathon. The result is the Git Autocomplete plugin for Far Manager, released today under the MIT/X11 license.

Categories: Open Source

From Excelsior Hack Day V: LangLocker Plugins

If your mother tongue is English or some other language with Latin alphabet, it may be difficult for you to understand the frustration of, say, a Russian-speaking developer who has just typed “згмдшс ште зфсл(Ашду цщклштпВшкусещкн” into their IDE instead of “public int pack(File workingDirectory” after accidentally switching the keyboard input language.

One such regularly frustrated developer is my colleague here at Excelsior, and during our fifth annual Hack Day he wrote Eclipse and JetBrains IDEs plugins that lock the input language:

Categories: Java

Excelsior JET Maven And Gradle Plugins Updated

We have updated Excelsior JET Maven and Gradle plugins to support invocation libraries and Windows services. Eclipse RCP remains the only application type that the plugins do not support yet.

Excelsior JET Maven Plugin:
Home page | on GitHub | on Maven Central

Excelsior JET Gradle Plugin:
Home page | on GitHub | on Maven Central

Categories: Excelsior JET, Open Source, Product Updates

Tags: ,