Just a quick note so as to it may help others.
I’m regularly using Bluetooth connected devices like keyboard, mouse, and headset with my notebooks and sometimes even with desktops.
Everything worked well at start on HP EliteBook 850 then I realized temporal or permanent disconnections. I tried to tweak my bluetooth config files setting different timeouts. Nothing has helped.
I remembered, that my headset connection was much smoother after upgrading my small netbook to Ubuntu 16.10. So I’ve upgraded my new HP to 16.10 as well. Since then I haven’t lost any single connection.(The OS still in a very stable state.)
So if you are suffering, it is worth to move on…
Well, it seems I’m going to travel around the world in the next few weeks. So I have to say good-bye to my desktop machine at the office (a bit customized Dell one with Ubuntu and ZFS with a few disks). So I’ve requested for a notebook at our IT and got a HP EliteBook 850 G3.
The specs of the machine is really good, actually it’s more powerful than my previous desktop, but it’s too big, heavy and have a TN display which is large enough to be viewed in an angle where colors could be shady at some part of the screen. So it won’t be hard to return it to the IT when the time comes.
Before I start my trips, I had a battle to fight install Ubuntu on this beast. It was not easy. The first time I booted Ubuntu 16.04 from USB stick, I installed Ubuntu removing all partitions save the EFI one and reboot. Instead of booting Ubuntu the boot loader started to whine over the recently removed Windows stuff, so I recreated the EFI partition as well. Results Grub command line…
It went on several times, with different BIOS settings, trying to enable legacy boot sequence, etc. In the meantime I read the Community knowledge bases, with little use. I even got the advice that install Windows back and run Ubuntu inside a VM. I did not give up and finally it happened:
- I set up Legacy Boot and Secure Boot disabled in BIOS (It might work with Secure Boot as well)
- I Created an EFI partition (~200 Mb) and one Partition for root, and another one for home.
- Install Ubuntu
- Install Boot-repair (from howtogeek)
- Selected: Backup and rename Windows EFI files
From now HP EliteBook 850 boots with Ubuntu
I could spent some time on this weekend on Gradle JavaEE functionalities. Someone said, that all this support would be half handed without a persistence support. So I’ve added that.
Entities are Recognized by NetBeans in a Gradle Project
The current implementation is nearly as good as you can get from NetBeans using Maven, as it is an actual port of the maven-persistence module. The only thing is missing is adding the JPA dependencies to the project when that is missing.
My last post was about that the first deployment of a somewhat special web application has happened. It seems NetBeans needs a separate content directory which would be an exploded war (at least according to my research). However the SPI says I could return null for this directory if it is absent, and Gradle by default does not generate such a directory when assembling a war file, so I thought implementing all this stuff would be useful later on incremental deployment feature. The practice shows that this directory is really required.
So I ended up with augmenting the build process with an explodedWar task. I also needed to implement/copy the functionality behind this content directory. I thought it would do the trick. Unfortunately all these work just fixed the message on the deployment progress bar. It seems that NetBeans deployment really depends on the context path stored in the application server dependent descriptor file. If these file is missing NetBeans would generate one. So fixing the path for this file generation made NetBeans deployment work.
In the meantime I’ve worked on the new web project wizard, so server and Java EE profile can be selected now. On the customizer side the profile is now detected from the Gradle dependencies, so it cannot be set manually there.
What is left to do:
- Finish saving all the changes in the Run customizer
- Add support for debug and deploy actions.
- Open the proper browser page after succesfull run action
I had a small breakthrough with supporting Gradle Web Projects. It is now possible to run a web application from NetBeans with a configured Application Server. There are restrictions though:
- The Application Server shall be a Glassfish
- The project shall have a WEB-INF/glassfish-web.xml with proper context root setup.
Due to some strange bugs/features in NetBeans, trying Tomcat results in NPE, deploying the application without glassfish-web.xml results that the application is always deployed in /WEB-INF context root.
The current solution actually try to deploy the war instead of an exploded directory. The absence of this exploded webapp makes NetBeans a bit cranky.
I some free time and decided to update my web-project branch from trunk (of course along with the 0.7.0 features). After the update I’ve checked that how would it compile against NetBeans 8.2. It did not end up well. It seems NetBeans guys is seriously preparing for Java 9 and project Jigsaw, as their modularization project continued, so I had to face with additional dependencies and new package names. It was not that hard, and I had some time to work on the cell renderers used in the Run Customizer dialog.
So from now web-projects are being built against NetBeans 8.2.
What a coincidence! I just had to reboot lkishalmi.eu this afternoon after ~20 days of uptime in order to apply kernel and docker changes. I briefly thought when would we use the Live Kernel patching feature which is one of the big features in the 4.x series of the Linux Kernel… Well I sighed and went on with the reboot.
In the evening I’ve just read read this post on Phoronix. Canonical makes Ubuntu live patching available for 16.04 64bit kernels. Much better it is free up to 3 instances for Ubuntu Community members. So from now on I enabled Ubuntu LivePatch on lkishalmi.eu
What a weekend! I’ve spent my nights and early mornings polishing this new release, taking pictures and writing New and Noteworthy page for it (check that for details).
- Compile/Run/Debug Single File
- Build Input Parameters
- Support Project Layouts like Gradle or Griffon
Most of the new features are coming from my copy-on-save branch, however the actual feature is not implemented, there were enough work piled up there which worth to be released. Especially before I going for other major features which could be one of the following:
- Web Project / Java EE Support
- Composite Builds
- Speed up Loading Projects with Lot of Sub-Project
If you would ask, what would happen with the Copy on Save feature, well it worth another post.
I presented Build and CI for our Test Automation Course on two Universities. I use Gradle as build tool, as I think this is the future for at least the JVM based languages, and it is quicker to demonstrate how and what KPI-s are usually collected during the build process.
I usually use my plugin for demonstration, but yesterday it got a bit weird due to a missing Java keystore, so I had to improvise a bit and use the command line. (Yes my bad, I had had to make sure that the tools are working on the presentation device as well.)
Examining the problem later, I’ve discovered that System Properties which are set in the IDE just goes right through the Tooling API and can affect the build process. Well, most of the time it won’t do any bad, but as we have no control of this behaviour it is no good. So I’ve reported this as a bug: https://discuss.gradle.org/t/system-property-leakage-via-the-tooling-api/19937
I had a blog once long time ago. It was a corporate one and I’ve really enjoyed writing it…
I’ve started to write a Gradle Plugin for NetBeans about two years ago now. It was a hard decision to start it as there is an existing one which had been working already.
I took a different design path, and based my work on the really nice implementation of the Maven plugin. It took more than half year to develop a version which could actually was able to deal with a Gradle project, but even that version has an impressive feature set:
Gatling on NetBeans with Gradle
- Fast Project Loading
- Effective Project Caching
- Cancellable Builds
- Auto-Reload Projects on Script Change
- Automatic Gradle Runtime Installation
- Task Navigator
Well some of these features are still unique. I’ve spent another one and a half year of my free time going further down on that road with a few detours.
Telling the truth I’ve got hooked into NetBeans module development by now. Right now there are only a few of my co-workers using my plugin, still I got excited to develop more and more features, polish the raw edges of this plugin.
I would like to dedicate a part of this blog on the work behind the scenes developing this plugin.