Skip to content

Commit

Permalink
Initial source code commit
Browse files Browse the repository at this point in the history
  • Loading branch information
daniel-koudouna committed Dec 21, 2016
1 parent e37c680 commit 8f04bb9
Show file tree
Hide file tree
Showing 79 changed files with 5,915 additions and 0 deletions.
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
bin
target
out
.ant-targets-build.xml
.classpath
.project
.settings
.idea
*.iml
8 changes: 8 additions & 0 deletions build.fxbuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="ASCII"?>
<anttasks:AntTask xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:anttasks="http://org.eclipse.fx.ide.jdt/1.0" buildDirectory="${project}/build">
<deploy packagingFormat="exe" verbose="true">
<application name="kiwi" mainclass="" preloaderclass="" version="0.5" toolkit="fx"/>
<info title="Kiwi" vendor="com.proxy"/>
</deploy>
<signjar/>
</anttasks:AntTask>
190 changes: 190 additions & 0 deletions build.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="kiwi-reader" default="do-deploy" basedir="."
xmlns:fx="javafx:com.sun.javafx.tools.ant"
xmlns:artifact="antlib:org.apache.maven.artifact.ant">

<path id="maven-ant-tasks.classpath" path="maven-ant-tasks-2.1.3.jar" />
<typedef resource="org/apache/maven/artifact/ant/antlib.xml"
uri="antlib:org.apache.maven.artifact.ant" classpathref="maven-ant-tasks.classpath" />

<target name="maven-retrieve">
<artifact:pom file="pom.xml" id="maven.project"/>
<artifact:dependencies fileSetId="maven-ant-tasks.dependency.fileset" type="jar">
<pom refid="maven.project"/>
</artifact:dependencies>

</target>

<target name="init-fx-tasks">
<echo message="Java home is set to ${java.home}"></echo>

<path id="fxant">
<filelist>
<file name="${java.home}\..\lib\ant-javafx.jar"/>
<file name="${java.home}\lib\ant-javafx.jar"/>
<file name="${java.home}\lib\jfxrt.jar"/>
<file name="${java.home}\lib\ext\jfxrt.jar"/>
<file name="${basedir}"/>
</filelist>
</path>

<taskdef resource="com/sun/javafx/tools/ant/antlib.xml"
uri="javafx:com.sun.javafx.tools.ant"
classpathref="fxant"/>
</target>
<target name="setup-staging-area" depends="maven-retrieve">
<delete dir="externalLibs" />
<delete dir="project" />
<delete dir="projectRefs" />

<mkdir dir="externalLibs" />

<!-- Copy Maven dependencies -->
<copy todir="externalLibs">
<fileset refid="maven-ant-tasks.dependency.fileset"/>
<mapper type="flatten" />
</copy>

<mkdir dir="project" />
<copy todir="project">
<fileset dir="${basedir}">
<include name="src/**" />
</fileset>
</copy>

<mkdir dir="projectRefs" />
</target>
<target name='do-compile'>

<delete dir="build" />
<mkdir dir="build/src" />
<mkdir dir="build/libs" />
<mkdir dir="build/classes" />

<!-- Copy project-libs references -->
<copy todir="build/libs">
<fileset dir="externalLibs">
<include name="*.jar"/>
</fileset>
</copy>

<!-- Copy project references -->

<!-- Copy project sources itself -->
<copy todir="build/src">
<fileset dir="project/src">
<include name="**/*"/>
</fileset>
</copy>

<javac includeantruntime="false" source="1.8" target="1.8" srcdir="build/src" destdir="build/classes" encoding="Cp1252">
<classpath>
<fileset dir="build/libs">
<include name="*"/>
</fileset>
</classpath>
</javac>

<!-- Copy over none Java-Files -->
<copy todir="build/classes">
<fileset dir="project/src">
<exclude name="**/*.java"/>
</fileset>
</copy>


</target>
<target name="do-deploy" depends="setup-staging-area, do-compile, init-fx-tasks">
<delete file="dist"/>
<delete file="deploy" />

<mkdir dir="dist" />
<mkdir dir="dist/libs" />

<copy todir="dist/libs">
<fileset dir="externalLibs">
<include name="*" />
</fileset>
</copy>

<jar destfile="dist/libs/kiwi-preloader.jar">
<fileset dir="build/classes">
<include name=".class"/>
</fileset>
</jar>

<fx:resources id="appRes">
<fx:fileset dir="dist" requiredFor="preloader"
includes="kiwi-preloader.jar"/>
<fx:fileset dir="dist" includes="kiwi.jar"/>
<fx:fileset dir="dist" includes="libs/*"/>
</fx:resources>

<fx:application id="fxApplication"
name="Kiwi"
mainClass="com.proxy.kiwi.app.Kiwi"
preloaderClass=""
toolkit="fx"
/>

<mkdir dir="build/classes/META-INF" />



<fx:jar destfile="dist/kiwi.jar">
<fx:application refid="fxApplication"/>
<fileset dir="build/classes">
<exclude name=".class" />
</fileset>
<fx:resources refid="appRes"/>

<manifest>
<attribute name="Implementation-Vendor" value="com.proxy"/>
<attribute name="Implementation-Title" value="Kiwi"/>
<attribute name="Implementation-Version" value="0.5"/>
<attribute name="JavaFX-Feature-Proxy" value="None"/>
</manifest>
</fx:jar>


<mkdir dir="deploy" />
<!-- Need to use ${basedir} because somehow the ant task is calculating the directory differently -->
<fx:deploy
verbose="true"
embedJNLP="false"
extension="false"
includeDT="false"
offlineAllowed="true"
outdir="${basedir}/deploy"
outfile="kiwi-reader" nativeBundles="exe"
updatemode="background" >

<fx:platform basedir="${java.home}"/>
<fx:info title="kiwi" vendor="com.proxy"/>

<fx:application refId="fxApplication"/>
<fx:resources refid="appRes"/>
</fx:deploy>

<antcall target="clean-up"></antcall>

</target>

<target name="clean-up">
<mkdir dir="out"/>

<move todir="out">
<fileset dir="deploy/bundles">
<include name="*.exe"/>
</fileset>
</move>

<delete dir="deploy"/>
<delete dir="dist"/>
<delete dir="externalLibs"/>
<delete dir="project"/>
<delete dir="projectRefs"/>
<delete dir="build" />
</target>

</project>
Binary file added maven-ant-tasks-2.1.3.jar
Binary file not shown.
Binary file added package/windows/Kiwi-setup-icon.bmp
Binary file not shown.
Binary file added package/windows/Kiwi-setup-icon.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 added package/windows/Kiwi.ico
Binary file not shown.
101 changes: 101 additions & 0 deletions package/windows/Kiwi.iss
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
;This file will be executed next to the application bundle image
;I.e. current directory will contain folder Kiwi with application files
#define name "Kiwi"

[Setup]
AlwaysShowComponentsList=Yes
AppId={{fxApplication}}
AppName="{#name}"
AppVersion=1.0
AppVerName=Kiwi
AppPublisher=Daniel Koudouna
AppComments=kiwi
AppCopyright=Copyright (C) 2016
;AppPublisherURL=http://java.com/
;AppSupportURL=http://java.com/
;AppUpdatesURL=http://java.com/
ChangesAssociations=Yes
DefaultDirName="{pf}\{#name}"
DisableStartupPrompt=Yes
DisableDirPage=No
DisableProgramGroupPage=No
DisableReadyPage=No
DisableFinishedPage=No
DisableWelcomePage=No
DefaultGroupName=kiwi
;Optional License
LicenseFile=
;WinXP or above
MinVersion=0,5.1
OutputBaseFilename="{#name}-setup"
Compression=lzma
SolidCompression=yes
PrivilegesRequired=admin
SetupIconFile=Kiwi\Kiwi.ico
UninstallDisplayIcon={app}\Kiwi.ico
UninstallDisplayName=Kiwi
WizardImageStretch=No
WizardSmallImageFile=Kiwi-setup-icon.bmp
ArchitecturesInstallIn64BitMode=x64

[Tasks]
Name: Association; Description: "Associate image file extensions ('.jpg','.png')"; GroupDescription: "File extensions"

[Registry]
Root: HKCR; Subkey: ".jpg"; ValueData: "{#name}"; Flags: uninsdeletevalue; ValueType: string; ValueName: "" ; Tasks: Association
Root: HKCR; Subkey: ".png"; ValueData: "{#name}"; Flags: uninsdeletevalue; ValueType: string; ValueName: "" ; Tasks: Association
Root: HKCR; Subkey: "{#name}"; ValueData: "{#name} Compatible File"; Flags: uninsdeletekey; ValueType: string; ValueName: ""
Root: HKCR; Subkey: "{#name}\DefaultIcon"; ValueData: "{app}\{#name}.exe,0"; ValueType: string; ValueName: ""
Root: HKCR; Subkey: "{#name}\shell\open\command"; ValueData: """{app}\{#name}.exe"" ""%1"""; ValueType: string; ValueName: ""

Root: HKCR; Subkey: "Applications\{#name}.exe"; ValueData: "Kiwi - A Lightweight Image Viewer"; ValueType: string; ValueName: "FriendlyAppName"

[Types]
Name: "full"; Description: "Full installation"
Name: "compact"; Description: "Compact installation"
Name: "custom"; Description: "Custom installation"; Flags: iscustom

[Components]
Name: "program"; Description: "Program Files"; Types: full compact custom; Flags: fixed
Name: "group"; Description: "Add Start Menu Entry"; Types: full;
Name: "icon"; Description: "Desktop Shortcut"; Types: full;


[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Files]
Source: "Kiwi\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: program;

[Icons]
Name: "{group}\Kiwi"; Filename: "{app}\Kiwi.exe"; IconFilename: "{app}\Kiwi.ico"; Components: group;
Name: "{commondesktop}\Kiwi"; Filename: "{app}\Kiwi.exe"; IconFilename: "{app}\Kiwi.ico"; Components: icon;


[Run]
Filename: "{app}\Kiwi.exe"; Parameters: "-Xappcds:generatecache"; Check: returnFalse()
Filename: "{app}\Kiwi.exe"; Description: "{cm:LaunchProgram,Kiwi}"; Flags: nowait postinstall skipifsilent; Check: returnTrue()
Filename: "{app}\Kiwi.exe"; Parameters: "-install -svcName ""Kiwi"" -svcDesc ""Kiwi"" -mainExe ""Kiwi.exe"" "; Check: returnFalse()

[UninstallRun]
Filename: "{app}\Kiwi.exe "; Parameters: "-uninstall -svcName Kiwi -stopOnUninstall"; Check: returnFalse()

[Code]
function returnTrue(): Boolean;
begin
Result := True;
end;
function returnFalse(): Boolean;
begin
Result := False;
end;
function InitializeSetup(): Boolean;
begin
// Possible future improvements:
// if version less or same => just launch app
// if upgrade => check if same app is running and wait for it to exit
// Add pack200/unpack200 support?
Result := True;
end;
70 changes: 70 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>kiwi</groupId>
<artifactId>kiwi</artifactId>
<version>0.4</version>
<name>Kiwi</name>
<build>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>src</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>com.github.junrar</groupId>
<artifactId>junrar</artifactId>
<version>0.7</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>com.drewnoakes</groupId>
<artifactId>metadata-extractor</artifactId>
<version>2.9.1</version>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.8.2</version>
</dependency>
<dependency>
<groupId>org.imgscalr</groupId>
<artifactId>imgscalr-lib</artifactId>
<version>4.2</version>
</dependency>
<dependency>
<groupId>com.twelvemonkeys.imageio</groupId>
<artifactId>imageio-jpeg</artifactId>
<version>3.3</version> <!-- Alternatively, build your own version -->
</dependency>
<dependency>
<groupId>com.twelvemonkeys.imageio</groupId>
<artifactId>imageio-tiff</artifactId>
<version>3.3</version> <!-- Alternatively, build your own version -->
</dependency>
</dependencies>
</project>
Loading

0 comments on commit 8f04bb9

Please sign in to comment.