Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 1 addition & 42 deletions .github/workflows/gradle-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,45 +5,4 @@
# This workflow will build a package using Gradle and then publish it to GitHub packages when a release is created
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-gradle

name: Gradle Package

on:
push:
branches:
- master

jobs:
build:

runs-on: ubuntu-latest
permissions:
contents: read
packages: write

steps:
- uses: actions/checkout@v3
- name: Set up JDK 8
uses: actions/setup-java@v3
with:
java-version: '8'
distribution: 'temurin'
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
settings-path: ${{ github.workspace }} # location for the settings.xml file

- name: Chmod gradlew
run: chmod +x gradlew

- name: Build with Gradle
uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1
with:
arguments: build

# The USERNAME and TOKEN need to correspond to the credentials environment variables used in
# the publishing section of your build.gradle
- name: Publish to GitHub Packages
uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1
with:
arguments: publish
env:
USERNAME: ${{ github.actor }}
TOKEN: ${{ secrets.GITHUB_TOKEN }}
# No Gradle publish workflow is needed for this branch
2 changes: 1 addition & 1 deletion .idea/discord.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions .idea/inspectionProfiles/Project_Default.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

124 changes: 124 additions & 0 deletions .idea/uiDesigner.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
38 changes: 34 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,39 @@
<img src="https://img.shields.io/github/repo-size/Jachou-yt/JavaVersionManager" alt=""> <img src="https://img.shields.io/github/downloads/Jachou-yt/JavaVersionManager/total" alt="Downloads"> <img src="https://img.shields.io/github/issues/Jachou-yt/JavaVersionManager" alt=""> <img src="https://img.shields.io/github/sponsors/Jachou-yt" alt=""><img src="https://img.shields.io/github/license/Jachou-yt/JavaVersionManager" alt=""> <img src="https://img.shields.io/github/v/release/Jachou-yt/JavaVersionManager" alt=""> <img src="https://img.shields.io/github/last-commit/Jachou-yt/JavaVersionManager" alt=""><img src="https://img.shields.io/github/contributors/Jachou-yt/JavaVersionManager" alt=""> <img src="https://img.shields.io/github/languages/code-size/Jachou-yt/JavaVersionManager" alt=""> <img src="https://img.shields.io/github/languages/top/Jachou-yt/JavaVersionManager" alt="">

# JavaVersionManager
A simple tool to manage multiple Java versions.
<br>
Available for Windows, Linux and Mac.
JavaVersionManager is a Java library that allows you to download Java version and manage it. It is available in API and executable version.
<br>
Download the latest release [here](https://github.com/Jachou-yt/JavaVersionManager/releases/)
*Warning: This library is still in development, so it is not yet stable.*

# Features branch Before V1.0.0
- [ ] Ajouter une fonctionnalité de recherche automatique des dernières versions de Java disponibles. Vous pouvez interroger un service en ligne ou une API pour obtenir les informations sur les dernières versions publiées.


- [x] Permettre à l'utilisateur de choisir le répertoire de destination pour le téléchargement et l'installation des versions de Java. Actuellement, le chemin est fixé sur System.getProperty("user.home") + "/.jdks", mais il serait utile de laisser l'utilisateur spécifier un chemin personnalisé.


- [ ] Ajouter une fonctionnalité de gestion des versions installées. Vous pouvez afficher la liste des versions téléchargées et installées dans le répertoire choisi par l'utilisateur. Permettez également à l'utilisateur de choisir quelle version de Java utiliser par défaut.


- [ ] Implémenter une fonctionnalité de mise à jour automatique. Vous pouvez vérifier régulièrement les nouvelles versions de Java disponibles et proposer à l'utilisateur de mettre à jour sa version actuelle si une nouvelle version est disponible.


- [ ] Ajouter des options avancées pour la gestion des versions de Java, telles que la possibilité de supprimer une version spécifique, de restaurer une version précédente, ou de désinstaller complètement une version.


- [ ] Améliorer l'interface utilisateur en utilisant des bibliothèques graphiques telles que JavaFX ou Swing pour créer une interface graphique conviviale et intuitive.


- [ ] Gérer les erreurs et les exceptions de manière plus robuste. Actuellement, certaines erreurs sont simplement affichées en console, mais vous pouvez ajouter des mécanismes de gestion des erreurs plus sophistiqués, tels que l'enregistrement des erreurs dans un fichier de journal ou l'affichage de messages d'erreur plus explicites à l'utilisateur.


- [ ] Ajouter une fonctionnalité de vérification de l'intégrité des fichiers téléchargés en comparant les sommes de contrôle (checksums). Cela permet de s'assurer que les fichiers téléchargés ne sont pas corrompus ou altérés.


- [ ] Implémenter une fonctionnalité de recherche dans les versions téléchargées. Permettez à l'utilisateur de rechercher une version spécifique en utilisant des filtres tels que le numéro de version, la date de publication, etc.


- [ ] Ajouter des tests unitaires pour valider le bon fonctionnement de votre code et éviter les régressions.

# How to use it
## Executable Version
Expand Down
9 changes: 8 additions & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,15 @@ publishing {
}
}

tasks.withType(Jar::class) {
manifest {
attributes["Manifest-Version"] = "1.0"
attributes["Main-Class"] = "fr.jachou.jvm.JavaVersionDownloader"
}
}

group = "fr.jachou"
version = "0.0.2"
version = "0.0.3"

repositories {
mavenCentral()
Expand Down
Loading