Skip to content

Commit 4f78f11

Browse files
committed
Support for gradle distribution
1 parent adc541f commit 4f78f11

File tree

7 files changed

+261
-14
lines changed

7 files changed

+261
-14
lines changed

.gitignore

Lines changed: 148 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,152 @@
1-
node_modules
1+
# Created by https://www.toptal.com/developers/gitignore/api/node,gatsby
2+
# Edit at https://www.toptal.com/developers/gitignore?templates=node,gatsby
3+
4+
### Gatsby ###
5+
node_modules/
6+
7+
.cache/
28
public
3-
.DS_Store
9+
10+
src/gatsby-types.d.ts
11+
12+
### Node ###
13+
# Logs
14+
logs
15+
*.log
16+
npm-debug.log*
17+
yarn-debug.log*
18+
yarn-error.log*
19+
lerna-debug.log*
20+
.pnpm-debug.log*
21+
22+
# Diagnostic reports (https://nodejs.org/api/report.html)
23+
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
24+
25+
# Runtime data
26+
pids
27+
*.pid
28+
*.seed
29+
*.pid.lock
30+
31+
# Directory for instrumented libs generated by jscoverage/JSCover
32+
lib-cov
33+
34+
# Coverage directory used by tools like istanbul
35+
coverage
36+
*.lcov
37+
38+
# nyc test coverage
39+
.nyc_output
40+
41+
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
42+
.grunt
43+
44+
# Bower dependency directory (https://bower.io/)
45+
bower_components
46+
47+
# node-waf configuration
48+
.lock-wscript
49+
50+
# Compiled binary addons (https://nodejs.org/api/addons.html)
51+
build/Release
52+
53+
# Dependency directories
54+
jspm_packages/
55+
56+
# Snowpack dependency directory (https://snowpack.dev/)
57+
web_modules/
58+
59+
# TypeScript cache
60+
*.tsbuildinfo
61+
62+
# Optional npm cache directory
63+
.npm
64+
65+
# Optional eslint cache
66+
.eslintcache
67+
68+
# Optional stylelint cache
69+
.stylelintcache
70+
71+
# Microbundle cache
72+
.rpt2_cache/
73+
.rts2_cache_cjs/
74+
.rts2_cache_es/
75+
.rts2_cache_umd/
76+
77+
# Optional REPL history
78+
.node_repl_history
79+
80+
# Output of 'npm pack'
81+
*.tgz
82+
83+
# Yarn Integrity file
84+
.yarn-integrity
85+
86+
# dotenv environment variable files
87+
.env
88+
.env.development.local
89+
.env.test.local
90+
.env.production.local
91+
.env.local
92+
93+
# parcel-bundler cache (https://parceljs.org/)
494
.cache
95+
.parcel-cache
96+
97+
# Next.js build output
98+
.next
99+
out
100+
101+
# Nuxt.js build / generate output
102+
.nuxt
103+
dist
104+
105+
# Gatsby files
106+
# Comment in the public line in if your project uses Gatsby and not Next.js
107+
# https://nextjs.org/blog/next-9-1#public-directory-support
108+
# public
109+
110+
# vuepress build output
111+
.vuepress/dist
112+
113+
# vuepress v2.x temp and cache directory
114+
.temp
5115

6-
package-lock.json
116+
# Docusaurus cache and generated files
117+
.docusaurus
7118

8-
yarn.lock
119+
# Serverless directories
120+
.serverless/
121+
122+
# FuseBox cache
123+
.fusebox/
124+
125+
# DynamoDB Local files
126+
.dynamodb/
127+
128+
# TernJS port file
129+
.tern-port
130+
131+
# Stores VSCode versions used for testing VSCode extensions
132+
.vscode-test
133+
134+
# yarn v2
135+
.yarn/cache
136+
.yarn/unplugged
137+
.yarn/build-state.yml
138+
.yarn/install-state.gz
139+
.pnp.*
140+
141+
### Node Patch ###
142+
# Serverless Webpack directories
143+
.webpack/
144+
145+
# Optional stylelint cache
146+
147+
# SvelteKit build / generate output
148+
.svelte-kit
149+
150+
# End of https://www.toptal.com/developers/gitignore/api/node,gatsby
151+
.DS_Store
152+
.env.development
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
{
2+
"name": "Processing 4.4.33",
3+
"tagName": "processing-1333-4.4.33",
4+
"isPrerelease": false,
5+
"publishedAt": "2025-03-13T11:14:50Z",
6+
"releaseAssets": {
7+
"edges": [
8+
{
9+
"node": {
10+
"name": "processing-4.4.33-reference.zip",
11+
"downloadUrl": "https://github.com/Stefterv/processing4/releases/download/processing-1333-4.4.33/processing-4.4.33-reference.zip",
12+
"size": 70945187
13+
}
14+
},
15+
{
16+
"node": {
17+
"name": "processing-4.4.33-windows-x64-portable.zip",
18+
"downloadUrl": "https://github.com/Stefterv/processing4/releases/download/processing-1333-4.4.33/processing-4.4.33-windows-x64-portable.zip",
19+
"size": 388689830
20+
}
21+
},
22+
{
23+
"node": {
24+
"name": "processing-4.4.33-linux-x64-portable.zip",
25+
"downloadUrl": "https://github.com/Stefterv/processing4/releases/download/processing-1333-4.4.33/processing-4.4.33-linux-x64-portable.zip",
26+
"size": 405103682
27+
}
28+
},
29+
{
30+
"node": {
31+
"name": "processing-4.4.33-windows-x64.msi",
32+
"downloadUrl": "https://github.com/Stefterv/processing4/releases/download/processing-1333-4.4.33/processing-4.4.33-windows-x64.msi",
33+
"size": 350846861
34+
}
35+
},
36+
{
37+
"node": {
38+
"name": "processing-4.4.33-linux-x64.snap",
39+
"downloadUrl": "https://github.com/Stefterv/processing4/releases/download/processing-1333-4.4.33/processing-4.4.33-linux-x64.snap",
40+
"size": 445075456
41+
}
42+
},
43+
{
44+
"node": {
45+
"name": "processing-4.4.33-linux-aarch64-portable.zip",
46+
"downloadUrl": "https://github.com/Stefterv/processing4/releases/download/processing-1333-4.4.33/processing-4.4.33-linux-aarch64-portable.zip",
47+
"size": 399185400
48+
}
49+
},
50+
{
51+
"node": {
52+
"name": "processing-4.4.33-linux-aarch64.snap",
53+
"downloadUrl": "https://github.com/Stefterv/processing4/releases/download/processing-1333-4.4.33/processing-4.4.33-linux-aarch64.snap",
54+
"size": 432328704
55+
}
56+
},
57+
{
58+
"node": {
59+
"name": "processing-4.4.33-macos-aarch64-portable.zip",
60+
"downloadUrl": "https://github.com/Stefterv/processing4/releases/download/processing-1333-4.4.33/processing-4.4.33-macos-aarch64-portable.zip",
61+
"size": 400453622
62+
}
63+
},
64+
{
65+
"node": {
66+
"name": "processing-4.4.33-macos-aarch64.dmg",
67+
"downloadUrl": "https://github.com/Stefterv/processing4/releases/download/processing-1333-4.4.33/processing-4.4.33-macos-aarch64.dmg",
68+
"size": 400303597
69+
}
70+
},
71+
{
72+
"node": {
73+
"name": "processing-4.4.33-macos-x64-portable.zip",
74+
"downloadUrl": "https://github.com/Stefterv/processing4/releases/download/processing-1333-4.4.33/processing-4.4.33-macos-x64-portable.zip",
75+
"size": 396170888
76+
}
77+
},
78+
{
79+
"node": {
80+
"name": "processing-4.4.33-macos-x64.dmg",
81+
"downloadUrl": "https://github.com/Stefterv/processing4/releases/download/processing-1333-4.4.33/processing-4.4.33-macos-x64.dmg",
82+
"size": 395961400
83+
}
84+
}
85+
]
86+
}
87+
}

content/download/selected.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@
55
"processing-0227-2.2.1"
66
],
77
"selectedPreReleases": [
8-
"processing-1297-4.3.4"
8+
"processing-1333-4.4.33"
99
]
1010
}

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"start": "gatsby serve",
2424
"clean": "gatsby clean",
2525
"format": "prettier --write \"src/**/*.{js,jsx,ts,tsx,json,md}\"",
26-
"fetchReleases": "node scripts/fetchReleases.js",
26+
"fetchReleases": "touch .env && node --env-file=.env scripts/fetchReleases.js",
2727
"updateContributions": "node scripts/updateContributions.js",
2828
"updateExamples": "node scripts/updateExamples.js",
2929
"updateKeywords": "node scripts/updateKeywords.js",
@@ -114,4 +114,4 @@
114114
}
115115
}
116116
}
117-
}
117+
}

scripts/fetchReleases.js

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,22 @@ const { graphql } = require('@octokit/graphql');
33
const fs = require('fs');
44
const path = require('path');
55

6+
const owner = process.env.GITHUB_OWNER || 'processing';
7+
const repo = process.env.GITHUB_REPO || 'processing';
8+
const repo4 = process.env.GITHUB_REPO4 || 'processing4';
9+
610
const fetchReleases = async (githubToken) => {
711
const { processing, processing4 } = await graphql(
812
`
913
query {
10-
processing: repository(name: "processing", owner: "processing") {
14+
processing: repository(name: "${repo}", owner: "${owner}") {
1115
releases(first: 100, orderBy: { field: NAME, direction: DESC }) {
1216
edges {
1317
node {
1418
name
1519
tagName
1620
publishedAt
17-
releaseAssets(first: 10) {
21+
releaseAssets(first: 20) {
1822
edges {
1923
node {
2024
name
@@ -27,15 +31,15 @@ const fetchReleases = async (githubToken) => {
2731
}
2832
}
2933
}
30-
processing4: repository(name: "processing4", owner: "processing") {
34+
processing4: repository(name: "${repo4}", owner: "${owner}") {
3135
releases(first: 100, orderBy: { field: NAME, direction: DESC }) {
3236
edges {
3337
node {
3438
name
3539
tagName
3640
isPrerelease
3741
publishedAt
38-
releaseAssets(first: 10) {
42+
releaseAssets(first: 20) {
3943
edges {
4044
node {
4145
name

src/hooks/download.js

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,22 @@ import { useIntl } from 'react-intl';
33

44
const getOS = (name) => {
55
if (name.includes('windows') || name.includes('.exe')) return 'Windows';
6+
if (name.includes(".snap")) return "Linux & Raspbery Pi";
67
else if (name.includes('linux-arm')) return 'Raspberry Pi';
8+
else if (name.includes('linux-aarch64')) return 'Raspberry Pi';
79
else if (name.includes('linux')) return 'Linux';
810
else if (name.includes('macos')) return 'macOS';
911
else return 'Unknown';
1012
};
1113

1214
const getBit = (name) => {
13-
if (name.includes('x64')) return 'Intel 64-bit';
15+
if (name.includes('x64')) return 'Intel';
1416
else if (name.includes('windows64')) return '64-bit';
1517
else if (name.includes('windows32')) return '32-bit';
1618
else if (name.includes('macos-aarch64')) return 'Apple Silicon';
1719
else if (name.includes('linux-arm32')) return '32-bit';
1820
else if (name.includes('linux-arm64')) return '64-bit';
21+
else if (name.includes('linux-aarch64')) return 'Arm';
1922
else return null;
2023
};
2124

@@ -69,12 +72,19 @@ export const usePreparedReleases = (releases) => {
6972
day: 'numeric'
7073
}),
7174
assets: [],
72-
assetsByOs: { Windows: [], macOS: [], Linux: [], 'Raspberry Pi': [] }
75+
assetsByOs: { Windows: [], macOS: [], Linux: [], 'Raspberry Pi': [], "Linux & Raspbery Pi": [] }
7376
};
7477

7578
// Prepare release assets
7679
for (let j = 0; j < release.releaseAssets.edges.length; j++) {
7780
const asset = release.releaseAssets.edges[j].node;
81+
if (asset.name.includes('portable')) continue;
82+
if (asset.name.includes(".snap")) {
83+
asset.downloadUrl = process.env.SNAPSTORE_URL ?? "https://snapcraft.io/processing";
84+
if (asset.name.includes("aarch64")) {
85+
asset.downloadUrl += "/raspbian"
86+
}
87+
}
7888
item.assets.push({
7989
name: asset.name,
8090
os: getOS(asset.name),

src/templates/download.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,8 +313,9 @@ const InfoTooltip = ({ asset, date, className, zIndex, translateX }) => {
313313
const osAndComponents = [
314314
{ osName: 'Windows', logoComponent: <LogoWindows /> },
315315
{ osName: 'macOS', logoComponent: <LogoMac /> },
316+
{ osName: "Linux & Raspbery Pi", logoComponent: <div className='flex'><LogoLinux /><LogoRaspberry /> </div> },
316317
{ osName: 'Linux', logoComponent: <LogoLinux /> },
317-
{ osName: 'Raspberry Pi', logoComponent: <LogoRaspberry /> }
318+
{ osName: 'Raspberry Pi', logoComponent: <LogoRaspberry /> },
318319
];
319320

320321
const OSSectionContainer = memo(({ release, onAfterDownload }) => {
@@ -354,6 +355,7 @@ const OSSection = memo(
354355
onSelect,
355356
onAfterDownload
356357
}) => {
358+
if (assets === undefined || assets?.length === 0) return null;
357359
return (
358360
<div
359361
className={classnames(css.osSection, {

0 commit comments

Comments
 (0)