Skip to content

Commit ea354a8

Browse files
Merge branch 'release/0.1.0'
2 parents 1c9a8be + 1c797cd commit ea354a8

File tree

179 files changed

+22099
-885
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

179 files changed

+22099
-885
lines changed

.github/FUNDING.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# These are supported funding model platforms
2+
3+
github: [overheadhunter, cryptomator] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4+
patreon: # Replace with a single Patreon username
5+
open_collective: # Replace with a single Open Collective username
6+
ko_fi: # Replace with a single Ko-fi username
7+
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8+
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9+
liberapay: # Replace with a single Liberapay username
10+
issuehunt: # Replace with a single IssueHunt username
11+
otechie: # Replace with a single Otechie username
12+
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
13+
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

.github/workflows/build.yml

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
name: Build
2+
on:
3+
[push]
4+
5+
jobs:
6+
7+
linux-amd64:
8+
name: Test jfuse-linux-amd64
9+
runs-on: ubuntu-latest
10+
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
11+
steps:
12+
- uses: actions/checkout@v2
13+
- uses: actions/setup-java@v2
14+
with:
15+
java-version: 19-ea
16+
distribution: 'zulu'
17+
cache: 'maven'
18+
- name: Setup fuse
19+
run: |
20+
sudo apt-get update
21+
sudo apt-get install fuse libfuse-dev
22+
- name: Maven build
23+
run: mvn -B verify -Plinux-amd64
24+
- uses: actions/upload-artifact@v2
25+
with:
26+
name: coverage-linux-amd64
27+
path: jfuse-tests/target/site/jacoco-aggregate/jacoco.xml
28+
retention-days: 3
29+
30+
mac:
31+
name: Test jfuse-mac
32+
runs-on: macos-10.15
33+
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
34+
steps:
35+
- uses: actions/checkout@v2
36+
- uses: actions/setup-java@v2
37+
with:
38+
java-version: 19-ea
39+
distribution: 'zulu'
40+
cache: 'maven'
41+
- name: Setup fuse
42+
run: brew install macfuse
43+
- name: Maven build
44+
run: mvn -B verify -Pmac
45+
- uses: actions/upload-artifact@v2
46+
with:
47+
name: coverage-mac
48+
path: jfuse-tests/target/site/jacoco-aggregate/jacoco.xml
49+
retention-days: 3
50+
51+
win-amd64:
52+
name: Test jfuse-win-amd64
53+
runs-on: windows-latest
54+
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
55+
steps:
56+
- uses: actions/checkout@v2
57+
- uses: actions/setup-java@v2
58+
with:
59+
java-version: 19-ea
60+
distribution: 'zulu'
61+
cache: 'maven'
62+
- name: Setup fuse
63+
run: choco install winfsp --version 1.10.22006 -y
64+
- name: Maven build
65+
run: mvn -B verify -Pwin-amd64
66+
- uses: actions/upload-artifact@v2
67+
with:
68+
name: coverage-win-amd64
69+
path: jfuse-tests/target/site/jacoco-aggregate/jacoco.xml
70+
retention-days: 3
71+
72+
sonarcloud:
73+
name: Run SonarCloud Analysis
74+
needs: [linux-amd64, mac, win-amd64]
75+
runs-on: ubuntu-latest
76+
steps:
77+
- uses: actions/checkout@v2
78+
with:
79+
fetch-depth: 0
80+
- uses: actions/setup-java@v2
81+
with:
82+
java-version: 19-ea
83+
distribution: 'zulu'
84+
cache: 'maven'
85+
- name: Cache SonarCloud packages
86+
uses: actions/cache@v2
87+
with:
88+
path: ~/.sonar/cache
89+
key: ${{ runner.os }}-sonar
90+
restore-keys: ${{ runner.os }}-sonar
91+
- uses: actions/download-artifact@v2
92+
with:
93+
name: coverage-linux-amd64
94+
path: coverage/linux-amd64
95+
- uses: actions/download-artifact@v2
96+
with:
97+
name: coverage-mac
98+
path: coverage/mac
99+
- uses: actions/download-artifact@v2
100+
with:
101+
name: coverage-win-amd64
102+
path: coverage/win-amd64
103+
- name: Analyze
104+
run: >
105+
mvn -B compile -DskipTests
106+
org.sonarsource.scanner.maven:sonar-maven-plugin:sonar
107+
-Plinux-amd64,linux-aarch64,mac,win-amd64
108+
-Dsonar.projectKey=cryptomator_jfuse
109+
-Dsonar.coverage.jacoco.xmlReportPaths=${GITHUB_WORKSPACE}/coverage/**/jacoco.xml
110+
-Dsonar.organization=cryptomator
111+
-Dsonar.host.url=https://sonarcloud.io
112+
env:
113+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
114+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
115+
116+
release:
117+
needs: [ sonarcloud ]
118+
if: startsWith(github.ref, 'refs/tags/')
119+
runs-on: ubuntu-latest
120+
steps:
121+
- name: Create Release
122+
uses: actions/create-release@v1
123+
env:
124+
GITHUB_TOKEN: ${{ secrets.CRYPTOBOT_RELEASE_TOKEN }} # release as "cryptobot"
125+
with:
126+
tag_name: ${{ github.ref }}
127+
release_name: Release ${{ github.ref }}
128+
prerelease: true
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Publish to Maven Central
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
tag:
6+
description: 'Tag'
7+
required: true
8+
default: '0.0.0'
9+
jobs:
10+
publish:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v2
14+
with:
15+
ref: "refs/tags/${{ github.event.inputs.tag }}"
16+
- uses: actions/setup-java@v2
17+
with:
18+
java-version: 19-ea
19+
distribution: 'zulu'
20+
cache: 'maven'
21+
server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml
22+
server-username: MAVEN_USERNAME # env variable for username in deploy
23+
server-password: MAVEN_PASSWORD # env variable for token in deploy
24+
gpg-private-key: ${{ secrets.RELEASES_GPG_PRIVATE_KEY }} # Value of the GPG private key to import
25+
gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase
26+
- name: Enforce project version ${{ github.event.inputs.tag }}
27+
run: mvn versions:set -B -DnewVersion=${{ github.event.inputs.tag }}
28+
- name: Deploy
29+
run: mvn deploy -B -DskipTests -Psign,deploy-central,linux-amd64,linux-aarch64,mac,win-amd64 --no-transfer-progress
30+
env:
31+
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
32+
MAVEN_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
33+
MAVEN_GPG_PASSPHRASE: ${{ secrets.RELEASES_GPG_PASSPHRASE }}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Publish to GitHub Packages
2+
on:
3+
release:
4+
types: [published]
5+
jobs:
6+
publish:
7+
runs-on: ubuntu-latest
8+
if: startsWith(github.ref, 'refs/tags/') # only allow publishing tagged versions
9+
steps:
10+
- uses: actions/checkout@v2
11+
- uses: actions/setup-java@v2
12+
with:
13+
java-version: 19-ea
14+
distribution: 'zulu'
15+
cache: 'maven'
16+
gpg-private-key: ${{ secrets.RELEASES_GPG_PRIVATE_KEY }} # Value of the GPG private key to import
17+
gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase
18+
- name: Enforce project version ${{ github.event.release.tag_name }}
19+
run: mvn versions:set -B -DnewVersion=${{ github.event.release.tag_name }}
20+
- name: Deploy
21+
run: mvn deploy -B -DskipTests -Psign,deploy-github,linux-amd64,linux-aarch64,mac,win-amd64 --no-transfer-progress
22+
env:
23+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
24+
MAVEN_GPG_PASSPHRASE: ${{ secrets.RELEASES_GPG_PASSPHRASE }}
25+
- name: Slack Notification
26+
uses: rtCamp/action-slack-notify@v2
27+
env:
28+
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
29+
SLACK_USERNAME: 'Cryptobot'
30+
SLACK_ICON:
31+
SLACK_ICON_EMOJI: ':bot:'
32+
SLACK_CHANNEL: 'cryptomator-desktop'
33+
SLACK_TITLE: "Published ${{ github.event.repository.name }} ${{ github.event.release.tag_name }}"
34+
SLACK_MESSAGE: "Ready to <https://github.com/${{ github.repository }}/actions/workflows/publish-central.yml|deploy to Maven Central>."
35+
SLACK_FOOTER:
36+
MSG_MINIMAL: true

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,8 @@ pom.xml.versionsBackup
1818
.idea/**/workspace.xml
1919
.idea/**/tasks.xml
2020
.idea/dictionaries
21+
.idea/compiler.xml
22+
.idea/encodings.xml
23+
.idea/jarRepositories.xml
2124
.idea/**/libraries/
2225
*.iml

.gitmodules

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,8 @@
22
path = libfuse
33
url = https://github.com/libfuse/libfuse.git
44
branch = fuse-2_9_bugfix
5+
6+
[submodule "winfsp"]
7+
path = winfsp
8+
url = https://github.com/billziss-gh/winfsp.git
9+
branch = master

.idea/codeStyles/Project.xml

Lines changed: 18 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/codeStyles/codeStyleConfig.xml

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/compiler.xml

Lines changed: 0 additions & 13 deletions
This file was deleted.

.idea/inspectionProfiles/Project_Default.xml

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)