Skip to content

Application which allow to check, download and install the latest version of the tool available on GitHub (uses the Java version installed in the OS)

License

Notifications You must be signed in to change notification settings

openefsa/internal-installer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

European Food Safety Authority

Internal installer

This maven project module, written in Java, can be used for launching the tool. In addition the module also checks, each time is launched, if new versions of the application are released in the GitHub repository. If a new release is present, then it asks the user if to download the updated software. In that case, the old version is replaced with the new one (maintaining some special folders which should not be lost while updating, as the database). The installer can be configured by setting up correctly the "config/githubConfig.xml" file.

Please note that if no version is present while launching the application, the library will install the latest release without asking anything.

Please note that the internal installer differs from the external installer in that it does not contain the JRE included in the root folder and saves the application information in the user's local folder.

Dependencies

All project dependencies are listed in the pom.xml file.

Import the project

In order to import the project correctly into the integrated development environment (e.g. Eclipse), it is necessary to download the project together with all its dependencies. The project and all its dependencies are based on the concept of "project object model" and hence Apache Maven is used for the specific purpose. In order to correctly import the project into the IDE it is firstly required to create a parent POM Maven project (check the following link for further information). Once the parent project has been created add the project and all the dependencies as "modules" into the pom.xml file as shown below:

<modules>

	<!-- dependency modules -->
	<module>module_1</module>
	...
	...
	...
	<module>module_n</module>
	
</modules>

Next, close the IDE and extract all the zip packets inside the parent project. At this stage you can simply open the IDE and import back the parent project which will automatically import also the project and all its dependencies.

Please note that the "SWT.jar" and the "Jface.jar" libraries (if used) must be downloaded and installed manually in the Maven local repository since are custom versions used in the tool ((install 3rd party jars)[https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html]).

Project structure

	├── app (where the application is downloaded)
	├── config
	|   ├── githubConfig.xml
	├── temp (temporary files are stored here)
	|   ├── temp1
	|   └── temp2
	├── launcher_name.exe (executable which starts the library)

githubConfig.xml file

  • Github.RepositoryName: this is the name of the repository where the library should look to see if there are new releases. Example: catalogue-browser
  • Github.RepositoryOwner: this is the username of the owner of the repository. Example: openefsa
  • Application.Keyword: keyword which will be searched in the new release assets to identify the file which contains the new application. Example: onlyapp-win-64bit
  • Application.Folder: name of the folder which will contain the application. Default is ""
  • Application.ConfigFile: name of the configuration file of the application inside the Application.Folder directory. Example: config\appConfig.xml This is used to retrieve the current version of the application.
  • Application.JarPath: the application jar which will be executed after the updates checking.
  • Application.IconFolder: folder of the icons of the application inside the Application.Folder (if needed)
  • Application.NameEntry: the entry which contains the name of the application inside the Application.ConfigFile file
  • Application.VersionEntry: the entry which contains the version of the application inside the Application.ConfigFile file
  • Application.IconEntry: the entry which contains the filename of the icon of the application inside the Application.ConfigFile file
  • Application.DatabaseFolder: the name of the folder inside the Application.Folder which contains the database of the application (this will not be deleted with the new releases!)

About

Application which allow to check, download and install the latest version of the tool available on GitHub (uses the Java version installed in the OS)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages