Skip to content

Commit a7be24c

Browse files
authored
Merge pull request #1 from ILoveGameCoding/develop
Release CodeXP v1.0.0
2 parents 58c858e + bf7a120 commit a7be24c

37 files changed

+1586
-101
lines changed
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# GitHub Actions Workflow is created for testing and preparing the plugin release in the following steps:
2+
# - validate Gradle Wrapper,
3+
# - run 'test' and 'verifyPlugin' tasks,
4+
# - run Qodana inspections,
5+
# - run 'buildPlugin' task and prepare artifact for the further tests,
6+
# - run 'runPluginVerifier' task,
7+
# - create a draft release.
8+
#
9+
# Workflow is triggered on push and pull_request events.
10+
#
11+
# GitHub Actions reference: https://help.github.com/en/actions
12+
#
13+
## JBIJPPTPL
14+
15+
name: Build on develop
16+
on:
17+
# Trigger the workflow on pushes to only the 'develop' branch (this avoids duplicate checks being run e.g. for dependabot pull requests)
18+
push:
19+
branches: [develop]
20+
# Trigger the workflow on any pull request
21+
pull_request:
22+
branches: [develop]
23+
24+
jobs:
25+
26+
# Run Gradle Wrapper Validation Action to verify the wrapper's checksum
27+
# Run verifyPlugin, IntelliJ Plugin Verifier, and test Gradle tasks
28+
# Build plugin and provide the artifact for the next workflow jobs
29+
build:
30+
name: Build
31+
runs-on: ubuntu-latest
32+
outputs:
33+
version: ${{ steps.properties.outputs.version }}
34+
changelog: ${{ steps.properties.outputs.changelog }}
35+
steps:
36+
37+
# Free GitHub Actions Environment Disk Space
38+
- name: Maximize Build Space
39+
run: |
40+
sudo rm -rf /usr/share/dotnet
41+
sudo rm -rf /usr/local/lib/android
42+
sudo rm -rf /opt/ghc
43+
44+
# Check out current repository
45+
- name: Fetch Sources
46+
uses: actions/checkout@v3
47+
48+
# Validate wrapper
49+
- name: Gradle Wrapper Validation
50+
uses: gradle/[email protected]
51+
52+
# Setup Java 11 environment for the next steps
53+
- name: Setup Java
54+
uses: actions/setup-java@v3
55+
with:
56+
distribution: zulu
57+
java-version: 11
58+
59+
# Set environment variables
60+
- name: Export Properties
61+
id: properties
62+
shell: bash
63+
run: |
64+
PROPERTIES="$(./gradlew properties --console=plain -q)"
65+
VERSION="$(echo "$PROPERTIES" | grep "^version:" | cut -f2- -d ' ')"
66+
NAME="$(echo "$PROPERTIES" | grep "^pluginName:" | cut -f2- -d ' ')"
67+
CHANGELOG="$(./gradlew getChangelog --unreleased --no-header --console=plain -q)"
68+
69+
echo "version=$VERSION" >> $GITHUB_OUTPUT
70+
echo "name=$NAME" >> $GITHUB_OUTPUT
71+
echo "pluginVerifierHomeDir=~/.pluginVerifier" >> $GITHUB_OUTPUT
72+
73+
echo "changelog<<EOF" >> $GITHUB_OUTPUT
74+
echo "$CHANGELOG" >> $GITHUB_OUTPUT
75+
echo "EOF" >> $GITHUB_OUTPUT
76+
77+
./gradlew listProductsReleases # prepare list of IDEs for Plugin Verifier
78+
79+
# Run tests
80+
- name: Run Tests
81+
run: ./gradlew check
82+
83+
# Collect Tests Result of failed tests
84+
- name: Collect Tests Result
85+
if: ${{ failure() }}
86+
uses: actions/upload-artifact@v3
87+
with:
88+
name: tests-result
89+
path: ${{ github.workspace }}/build/reports/tests
90+
91+
# Upload Kover report to CodeCov
92+
- name: Upload Code Coverage Report
93+
uses: codecov/codecov-action@v3
94+
with:
95+
files: ${{ github.workspace }}/build/reports/kover/xml/report.xml

.github/workflows/build.yml renamed to .github/workflows/build_main.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,14 @@
1212
#
1313
## JBIJPPTPL
1414

15-
name: Build
15+
name: Build on main
1616
on:
1717
# Trigger the workflow on pushes to only the 'main' branch (this avoids duplicate checks being run e.g. for dependabot pull requests)
1818
push:
1919
branches: [main]
20-
# Trigger the workflow on any pull request
20+
# Trigger the workflow on pull request to the 'main' branch
2121
pull_request:
22+
branches: [main]
2223

2324
jobs:
2425

CHANGELOG.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,12 @@
44

55
## [Unreleased]
66
### Added
7-
- Release test
7+
8+
---
9+
10+
## [1.0.0]
11+
### Added
12+
- Implement core logic of CodeXP
13+
- Implement CodeXP Dashboard
14+
- Define events to detect and add challenges for each event
15+
- Implement notification alert feature for leveling up or completing challenges

README.md

Lines changed: 45 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,29 @@
55
[![Downloads](https://img.shields.io/jetbrains/plugin/d/21896-codexp.svg)](https://plugins.jetbrains.com/plugin/21896-codexp)
66

77
<!-- Plugin description -->
8-
The CodeXP plugin is designed to gamify your coding experience in IntelliJ IDEs. It provides the following features:
8+
The CodeXP plugin is designed to gamify your coding experience in IntelliJ IDEs.
9+
10+
## Features
11+
12+
---
913

1014
- Awards experience points (xp) for various actions such as:
1115
- Typing
12-
- Building
13-
- Running
14-
- Creating functions
15-
- Searching
16-
- Replacing
17-
- Commit/Push/Pull
18-
- Displays effects corresponding to the actions performed.
16+
- Paste
17+
- Backspace / Tab
18+
- Save
19+
- Build / Run / Debug
20+
- Other actions
1921
- Provides periodic challenges to keep the coding experience engaging.
2022
- Displays your level based on the accumulated xp, providing a fun and engaging way to track your coding activities.
2123
<!-- Plugin description end -->
2224

25+
<br>
26+
2327
## Installation
2428

29+
---
30+
2531
- Using IDE built-in plugin system:
2632

2733
<kbd>Settings/Preferences</kbd> > <kbd>Plugins</kbd> > <kbd>Marketplace</kbd> > <kbd>Search for "CodeXP"</kbd> >
@@ -34,6 +40,37 @@ The CodeXP plugin is designed to gamify your coding experience in IntelliJ IDEs.
3440
Download the [latest release](https://github.com/ILoveGameCoding/intellij-codexp/releases/latest) and install it manually using
3541
<kbd>Settings/Preferences</kbd> > <kbd>Plugins</kbd> > <kbd>⚙️</kbd> > <kbd>Install plugin from disk...</kbd>
3642

43+
<br>
44+
45+
## Dashboard in Light/Dark Theme
46+
47+
---
48+
49+
<p float="left">
50+
<img src="https://github.com/ILoveGameCoding/intellij-codexp/blob/main/images/dashboard_light_1.png" width="400" />
51+
<img src="https://github.com/ILoveGameCoding/intellij-codexp/blob/main/images/dashboard_light_2.png" width="400" />
52+
</p>
53+
<p float="left">
54+
<img src="https://github.com/ILoveGameCoding/intellij-codexp/blob/main/images/dashboard_dark_1.png" width="400" />
55+
<img src="https://github.com/ILoveGameCoding/intellij-codexp/blob/main/images/dashboard_dark_2.png" width="400" />
56+
</p>
57+
58+
<br>
59+
60+
## Completed Challenges
61+
62+
---
63+
64+
Completed challenges are added under the "Completed Challenges" section. Also, more difficult challenges are automatically added after you complete a challenge.
65+
66+
![Completed Challenges](https://github.com/ILoveGameCoding/intellij-codexp/blob/main/images/completed_challenges.png)
67+
68+
<br>
69+
70+
## Notification
71+
Whenever a challenge is completed or a level up occurs, a notification is provided to inform you of the details.
72+
73+
![Notification](https://github.com/ILoveGameCoding/intellij-codexp/blob/main/images/notification.jpg")
3774

3875
---
3976
Plugin based on the [IntelliJ Platform Plugin Template][template].

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ pluginGroup = com.github.ilovegamecoding.intellijcodexp
44
pluginName = intellij-codexp
55
pluginRepositoryUrl = https://github.com/ILoveGameCoding/intellij-codexp
66
# SemVer format -> https://semver.org
7-
pluginVersion = 0.0.3
7+
pluginVersion = 1.0.0
88

99
# Supported build number ranges and IntelliJ Platform versions -> https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html
1010
pluginSinceBuild = 221

images/completed_challenges.png

6 KB
Loading

images/dashboard_dark_1.png

41.4 KB
Loading

images/dashboard_dark_2.png

36.9 KB
Loading

images/dashboard_light_1.png

42.1 KB
Loading

images/dashboard_light_2.png

49 KB
Loading

0 commit comments

Comments
 (0)