diff --git a/.gitignore b/.gitignore
index d48ce265..242cd569 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,8 +8,6 @@ dist/
run/
# IDE Config
-.idea/
-*.iml
.settings/
.classpath
.project
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 00000000..8fae4604
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,12 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+
+# Custom ignored files
+/libraries/
+/modules/
+/jarRepositories.xml
+/misc.xml
+/modules.xml
+/runConfigurations.xml
+/vcs.xml
diff --git a/.idea/ATLauncher.iml b/.idea/ATLauncher.iml
new file mode 100644
index 00000000..cc35c42f
--- /dev/null
+++ b/.idea/ATLauncher.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 00000000..61a9130c
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
new file mode 100644
index 00000000..995e1125
--- /dev/null
+++ b/.idea/gradle.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/Launch.xml b/.idea/runConfigurations/Launch.xml
new file mode 100644
index 00000000..8792ea15
--- /dev/null
+++ b/.idea/runConfigurations/Launch.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/Launch__Dev_.xml b/.idea/runConfigurations/Launch__Dev_.xml
new file mode 100644
index 00000000..27325f5b
--- /dev/null
+++ b/.idea/runConfigurations/Launch__Dev_.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/UI_Tests.xml b/.idea/runConfigurations/UI_Tests.xml
new file mode 100644
index 00000000..cc0ef590
--- /dev/null
+++ b/.idea/runConfigurations/UI_Tests.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+ true
+ false
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/Unit_Tests.xml b/.idea/runConfigurations/Unit_Tests.xml
new file mode 100644
index 00000000..b3f9b6ee
--- /dev/null
+++ b/.idea/runConfigurations/Unit_Tests.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+ true
+ false
+
+
+
\ No newline at end of file
diff --git a/.vscode/launch.json b/.vscode/launch.json
index 9218137d..d23305a8 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -8,9 +8,8 @@
"mainClass": "com.atlauncher.App",
"projectName": "ATLauncher",
"cwd": "${workspaceFolder}/testLauncher",
- "preLaunchTask": "makeTestLauncherDirectory",
+ "preLaunchTask": "createTestLauncherDir",
"args": "--debug --debug-level 5 --disable-error-reporting --no-launcher-update",
-
},
{
"type": "java",
@@ -19,7 +18,7 @@
"mainClass": "com.atlauncher.App",
"projectName": "ATLauncher",
"cwd": "${workspaceFolder}/testLauncher/dev",
- "preLaunchTask": "makeTestLauncherDevDirectory",
+ "preLaunchTask": "createTestLauncherDir",
"args": "--debug --debug-level 5 --disable-error-reporting --no-launcher-update --base-launcher-domain=https://atlauncher.test --base-cdn-domain=files.atlauncher.test --base-cdn-path=/ --allow-all-ssl-certs"
}
]
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
index ac0a65ef..80f79615 100644
--- a/.vscode/tasks.json
+++ b/.vscode/tasks.json
@@ -15,6 +15,12 @@
"isDefault": true
}
},
+ {
+ "label": "createTestLauncherDir",
+ "type": "shell",
+ "command": "./gradlew createTestLauncherDir",
+ "problemMatcher": []
+ },
{
"label": "generateTemplatePot",
"type": "shell",
@@ -41,34 +47,6 @@
"kind": "test",
"isDefault": true
}
- },
- {
- "label": "makeTestLauncherDirectory",
- "type": "shell",
- "linux": {
- "command": "mkdir -p ./testLauncher"
- },
- "windows": {
- "command": "cmd",
- "args": [
- "/C",
- "if not exist .\\testLauncher mkdir .\\testLauncher"
- ]
- }
- },
- {
- "label": "makeTestLauncherDevDirectory",
- "type": "shell",
- "linux": {
- "command": "mkdir -p ./testLauncher/dev"
- },
- "windows": {
- "command": "cmd",
- "args": [
- "/C",
- "if not exist .\\testLauncher\\dev mkdir .\\testLauncher\\dev"
- ]
- }
}
]
}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c3bdb96e..d478ff2c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -13,3 +13,4 @@ This changelog only contains the changes that are unreleased. For changes for in
- Issue with 64 bit OS not using correct runtime when using 32 bit Java
### Misc
+- Add in idea project files so there's a base for those using it
diff --git a/README.md b/README.md
index 655ec85d..ee545bdd 100644
--- a/README.md
+++ b/README.md
@@ -10,11 +10,11 @@ modpacks easily and quickly.
## Links
-- [ATLauncher Website](https://atlauncher.com)
-- [ATLauncher Discord](https://atl.pw/discord)
-- [ATLauncher Facebook](https://www.facebook.com/ATLauncher)
-- [ATLauncher Reddit](https://www.reddit.com/r/ATLauncher)
-- [ATLauncher Twitter](https://twitter.com/ATLauncher)
+- [ATLauncher Website](https://atlauncher.com)
+- [ATLauncher Discord](https://atl.pw/discord)
+- [ATLauncher Facebook](https://www.facebook.com/ATLauncher)
+- [ATLauncher Reddit](https://www.reddit.com/r/ATLauncher)
+- [ATLauncher Twitter](https://twitter.com/ATLauncher)
## Contributing to ATLauncher
@@ -52,11 +52,18 @@ Alternatively you can run:
./gradlew run --args="--debug --debug-level 3 --working-dir=testLauncher"
```
-## Using VSCode
+Setting the `--working-dir=testLauncher` argument is necessary as it will ensure that the launchers files are not
+spewed in the root directory and are instead contained within a gitignored folder.
-This project is setup to use [VSCode](https://code.visualstudio.com/) for development. You're free to use any other IDE
-that you're accustomed to (if any), but by using VSCode, you get the benefit of predefined tasks and launch commands as
-well as a list of extensions recommended for the project.
+## Using an IDE
+
+This project is mainly setup and developed to use [VSCode](https://code.visualstudio.com/) for development. You're free
+to use any other IDE that you're accustomed to (if any), but by using VSCode, you get the benefit of predefined tasks
+and launch commands as well as a list of extensions recommended for the project.
+
+We also provide some base project files for [IntelliJ IDEA](https://www.jetbrains.com/idea/) so that if you use that,
+you should get access to our base project files which contain correct launch tasks for testing the application as well
+as tasks for running the UI/Unit tests.
## Checking for dependency updates
@@ -92,10 +99,10 @@ ATLauncher supports custom themes. The process is fairly straight forward, but m
First you must create a `MyThemeName.java` in the `src/main/java/com/atlauncher/themes/` directory. Your theme should
extend one of the base ATLauncher themes depending on what you need:
-- `Dark` is the default theme and is a dark theme. It's a good place to start with some defaults for new dark themes.
-- `Light` is a light theme. It's a good place to start with some defaults for new light themes.
-- `ATLauncherLaf` is a base class which every theme MUST at some point extend. It provides some defaults including our
- brand colours and some defaults. This shouldn't be extended from unless you need absolute power.
+- `Dark` is the default theme and is a dark theme. It's a good place to start with some defaults for new dark themes.
+- `Light` is a light theme. It's a good place to start with some defaults for new light themes.
+- `ATLauncherLaf` is a base class which every theme MUST at some point extend. It provides some defaults including our
+ brand colours and some defaults. This shouldn't be extended from unless you need absolute power.
Once you've created your class (look at other themes in the directory for an idea on what you can do), you'll need to
create a properties file in the `src/main/resources/com/atlauncher/themes/` directory. This properties file is how you
@@ -108,12 +115,12 @@ Now you can open the launcher and then switch to your theme.
We use a library called [FlatLaf](https://github.com/JFormDesigner/FlatLaf) to provide theme support. There are some
good references listed below to see the default values for the themes and see what you can overwrite:
--
- - This file contains all the base properties for all themes
--
- - This file contains all the base properties for light themes
--
- - This file contains all the base properties for dark themes
+-
+ - This file contains all the base properties for all themes
+-
+ - This file contains all the base properties for light themes
+-
+ - This file contains all the base properties for dark themes
### IntelliJ theme.json Support
diff --git a/build.gradle b/build.gradle
index ca52dcac..5abf9871 100644
--- a/build.gradle
+++ b/build.gradle
@@ -218,6 +218,10 @@ task downloadNewerUniversalJavaApplicationStub(type: Download) {
overwrite true
}
+task createTestLauncherDir {
+ project.file('testLauncher/dev').mkdirs()
+}
+
task createMacApp(type: Zip) {
dependsOn createApp, shadowJar
from("$buildDir/macApp") {