Skip to content

Commit

Permalink
Merge pull request #67 from feldoh/develop
Browse files Browse the repository at this point in the history
Release version 2.3.0
  • Loading branch information
feldoh authored Apr 7, 2018
2 parents e1f188f + 32c6aab commit 87c32b0
Show file tree
Hide file tree
Showing 37 changed files with 3,170 additions and 1,059 deletions.
8 changes: 6 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,9 @@ language: java

jdk:
- oraclejdk8

script: mvn clean verify

script:
- mvn clean verify

after_success:
- mvn clean test jacoco:report coveralls:report
42 changes: 32 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
JZookeeperEdit
==============

A simple tool for browsing and modifying zookeeper trees.
[![Build Status](https://travis-ci.org/feldoh/JZookeeperEdit.svg?branch=master)](https://travis-ci.org/feldoh/JZookeeperEdit)
[![Download](https://api.bintray.com/packages/feldoh/JZookeeperEdit/JZookeeperEdit/images/download.svg) ](https://bintray.com/feldoh/JZookeeperEdit/JZookeeperEdit/_latestVersion)
[![Join the chat at https://gitter.im/JZookeeperEdit/Lobby](https://badges.gitter.im/JZookeeperEdit/Lobby.svg)](https://gitter.im/JZookeeperEdit/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Stories in Ready](https://badge.waffle.io/feldoh/JZookeeperEdit.png?label=ready&title=Ready)](https://waffle.io/feldoh/JZookeeperEdit)
[![Coverage Status](https://coveralls.io/repos/github/feldoh/JZookeeperEdit/badge.svg)](https://coveralls.io/github/feldoh/JZookeeperEdit)

A simple tool for browsing and modifying zookeeper trees.

Config
=======
Expand All @@ -12,17 +17,35 @@ where it will save details of servers you connect to if you click "Save Cluster

Get a pre-built Binary
======================
Pre-built binaries are available for most common platforms on [Bintray](https://bintray.com/feldoh/JZookeeperEdit/JZookeeperEdit)<br>
[ ![Download](https://api.bintray.com/packages/feldoh/JZookeeperEdit/JZookeeperEdit/images/download.svg) ](https://bintray.com/feldoh/JZookeeperEdit/JZookeeperEdit/_latestVersion)
Pre-built binaries are available for most common platforms on [Bintray](https://bintray.com/feldoh/JZookeeperEdit/JZookeeperEdit)


Requirements
==============
This tool was written using Java 1.8 with JavaFX and Maven as its build tool.
This means you will need the environment variable JAVA_HOME to point to a valid Java 8 Home.

**Note that due to a limitation of controlsfx this tool requires at least Java 1.8.0_20**<br>
**Note that due to a limitation of controlsfx you will need to use a version of this tool appropriate for your version of Java. This version of the tool requires at least Java 1.8.0_40**<br>
The reason for this is discussed in [this](http://fxexperience.com/2014/09/announcing-controlsfx-8-20-7/) blog post


Using the CLI
=============
Zookeeper comes with a nice little command line tool for exploration. However for scripting the metadata and the format can be a pain.
This tool comes with a limited (but more customisable in terms of output) cli of its own. The main aim here was to make a zkCli that was a little more unix-tools friendly.

You can see the options by running `java -jar JZookeeperEdit.jar -h`.

Several notable features include:

* The ability to chain ls calls. For example to get all children of the children of the root one could run
`java -jar JZookeeperEdit.jar -l -p -c localhost / | xargs java -jar JZookeeperEdit.jar -l -c localhost`
Naturally you can extend this via some grepping or awk commands or even asking questions like "do the children in one cluster have children in another".
Note that if you wish to chain calls you will need to use the `-p` flag to have it print the full paths.
* The ability to extract particular elements from metadata and a more unix tools friendly meta output i.e.:
`java -jar JZookeeperEdit.jar -m -f getNumChildren -c localhost /`
Note that a full list of available accessors is available via `java -jar JZookeeperEdit.jar -a`

Running using Maven
====================
mvn jfx:run
Expand All @@ -42,10 +65,9 @@ mvn jfx:native

Libraries & Tools
=========================
JavaFX Maven Plugin 8.1.3 - Simple JavaFX + Maven<br>
Apache Curator 2.8.0 - Simple ZooKeeper Wrapper<br>
ControlsFX 8.20.8 - Dialogues<br>
Java 1.8.0_45 - Language<br>
Maven 3.2.1 - Lifecycle<br>
JavaFX Maven Plugin 8.7.0 - Simple JavaFX + Maven<br>
Apache Curator 2.11.0 - Simple ZooKeeper Wrapper<br>
ControlsFX 8.40.12 - Dialogues<br>
Java 1.8.0_102 - Language<br>
Maven 3.3.9 - Lifecycle<br>
JavaFX 8 - GUI

208 changes: 132 additions & 76 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,138 +4,194 @@

<groupId>net.imagini</groupId>
<artifactId>JZookeeperEdit</artifactId>
<version>2.1.1</version>
<version>2.3.0</version>
<packaging>jar</packaging>

<name>JZookeeperEdit</name>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<mainClass>net.imagini.jzookeeperedit.MainApp</mainClass>
<mainClass>net.imagini.jzookeeperedit.fx.MainApp</mainClass>
<slf4j.version>1.7.21</slf4j.version>
</properties>

<organization>
<name>VisualDNA</name>
</organization>

<prerequisites>
<maven>2.2.1</maven>
</prerequisites>

<dependencies>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>2.8.0</version>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>org.controlsfx</groupId>
<artifactId>controlsfx</artifactId>
<version>8.20.8</version>
<version>8.40.12</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>com.beust</groupId>
<artifactId>jcommander</artifactId>
<version>1.58</version>
</dependency>
<!-- test dependencies -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>2.1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>co.unruly</groupId>
<artifactId>java-8-matchers</artifactId>
<version>1.1</version>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<showDeprecation>true</showDeprecation>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.17</version>
<executions>
<execution>
<id>unpack-dependencies</id>
<phase>package</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<id>validate</id>
<phase>validate</phase>
<configuration>
<excludeScope>system</excludeScope>
<excludeGroupIds>junit,org.mockito,org.hamcrest</excludeGroupIds>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
<configLocation>src/main/resources/checkstyle.xml</configLocation>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<failOnViolation>true</failOnViolation>
<logViolationsToConsole>true</logViolationsToConsole>
<violationSeverity>info</violationSeverity>
</configuration>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4.0</version>
<artifactId>findbugs-maven-plugin</artifactId>
<version>3.0.4</version>
<executions>
<execution>
<id>unpack-dependencies</id>

<phase>package</phase>
<id>findbugs</id>
<phase>process-test-resources</phase>
<goals>
<goal>exec</goal>
<goal>check</goal>
</goals>
<configuration>
<executable>${java.home}/../bin/javapackager</executable>
<arguments>
<argument>-createjar</argument>
<argument>-nocss2bin</argument>
<argument>-appclass</argument>
<argument>${mainClass}</argument>
<argument>-srcdir</argument>
<argument>${project.build.directory}/classes</argument>
<argument>-outdir</argument>
<argument>${project.build.directory}</argument>
<argument>-outfile</argument>
<argument>${project.build.finalName}.jar</argument>
</arguments>
<threshold>Low</threshold>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.zenjava</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>8.7.0</version>
<configuration>
<identifier>${project.name}</identifier>
<needMenu>true</needMenu>
<mainClass>${mainClass}</mainClass>
<appName>${project.name}</appName>
<nativeReleaseVersion>${project.version}</nativeReleaseVersion>
</configuration>
<executions>
<execution>
<id>default-cli</id>
<!-- required before build-native -->
<id>create-jfxjar</id>
<phase>package</phase>
<goals>
<goal>exec</goal>
<goal>build-jar</goal>
</goals>
</execution>
<execution>
<id>create-native</id>
<phase>package</phase>
<goals>
<goal>build-native</goal>
</goals>
<configuration>
<executable>${java.home}/bin/java</executable>
<commandlineArgs>${runfx.args}</commandlineArgs>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.9</version>
<executions>
<execution>
<id>prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArguments>
<bootclasspath>${sun.boot.class.path}${path.separator}${java.home}/lib/jfxrt.jar</bootclasspath>
</compilerArguments>
<showDeprecation>true</showDeprecation>
<excludes>
<exclude>net/imagini/jzookeeperedit/fx/**</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<additionalClasspathElements>
<additionalClasspathElement>${java.home}/lib/jfxrt.jar</additionalClasspathElement>
</additionalClasspathElements>
</configuration>
<groupId>org.eluder.coveralls</groupId>
<artifactId>coveralls-maven-plugin</artifactId>
<version>4.3.0</version>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>com.zenjava</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>8.1.3</version>
<configuration>
<mainClass>net.imagini.jzookeeperedit.MainApp</mainClass>
<appName>${project.artifactId}</appName>
<nativeReleaseVersion>${project.version}</nativeReleaseVersion>
</configuration>
<dependencies>
<dependency>
<groupId>org.twdata.maven</groupId>
<artifactId>mojo-executor</artifactId>
<version>2.1.0</version>
</dependency>
</dependencies>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>2.5</version>
</plugin>
</plugins>
</build>
</reporting>
</project>
Binary file added src/main/deploy/package/linux/JZookeeperEdit.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
10 changes: 0 additions & 10 deletions src/main/java/net/imagini/jzookeeperedit/FXChildScene.java

This file was deleted.

Loading

0 comments on commit 87c32b0

Please sign in to comment.