-
-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
#1279 add full and minimal packages #1280
Conversation
3d9d2de
to
9d1b1fb
Compare
9d1b1fb
to
3b3282d
Compare
b3584e3
to
35677d9
Compare
Thanks @robfrank , this is huge! What is in and out the 2 new distribution? |
@lvca note that I moved all the js/html files in a dedicated module, that's why we have so many files in the PR |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I love you separated studio!
@@ -9,7 +9,7 @@ scriptEngines: | |||
classImports: | |||
- java.lang.Math | |||
methodImports: | |||
- 'java.lang.Math#*' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Was this intentional or some IDE auto formatting?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
autoformatter
package/pom.xml
Outdated
<phase>package</phase> | ||
<goals> | ||
<goal>single</goal> | ||
</goals> | ||
<configuration> | ||
<appendAssemblyId>false</appendAssemblyId> | ||
<finalName>arcadedb-${project.version}</finalName> | ||
<finalName>arcadedb-package-${project.version}</finalName> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about using arcadedb-full
as a name? So everybody understand it's the full version?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
was my first choice. But then I preferred to not create problems to people that is referring, maybe in their scripts, to arcadedb-package
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's the opposite: now arcadedb-package is just a sub-project to pack up the distribution and everybody is using just "arcadedb-".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no, it's deployed on maven central: https://repo.maven.apache.org/maven2/com/arcadedb/arcadedb-package/23.9.1/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I never noticed we published the whole distribution on Maven, not only GitHub! But nobody is linking that package because it's a zip. not a jar. So we can even get rid of that and nobody would notice. The zip file is directly available on github.
The only doubt is about the name of the full distribution. In Docker we keep the current name (no suffix), that doesn't break compatibility 👍 But for the release we change it to "package" just to stick with the current zip deployed on maven, but nobody I think ever used it.
What if we remove the suffix from it? So we'd have (I usually upload the .tar.gz
instead of .zip
on github because it keeps the UNIX permissions on the .sh files):
- arcadedb-VERSION.tar.gz: as before, the full-fledged package with all the plugins inside
- arcadedb-minimal-VERSION.tar.gz
- arcadedb-headless-VERSION.tar.gz
And same for docker:
- arcadedata/arcadedb: as before, the full version (non rename)
- arcadedata/arcadedb-minimal
- arcadedata/arcadedb-headless
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, this commit 4421646
does that
<include>*:jar:*</include> | ||
</includes> | ||
<excludes> | ||
<exclude>com.arcadedb:arcadedb-gremlin</exclude> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you exclude gremlin, does it automatically exclude al the linked jars?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes because every pplugin (gremlin, redis, postgres) is packaged as a single fat jar (note the size):
22K Nov 26 21:17 arcadedb-console-23.11.1-SNAPSHOT.jar
2.0M Nov 26 21:17 arcadedb-engine-23.11.1-SNAPSHOT.jar
101K Nov 26 21:17 arcadedb-graphql-23.11.1-SNAPSHOT.jar
43M Nov 26 21:17 arcadedb-gremlin-23.11.1-SNAPSHOT.jar
166K Nov 26 21:17 arcadedb-integration-23.11.1-SNAPSHOT.jar
2.8M Nov 26 21:17 arcadedb-mongodbw-23.11.1-SNAPSHOT.jar
74K Nov 26 21:17 arcadedb-network-23.11.1-SNAPSHOT.jar
32K Nov 26 21:17 arcadedb-postgresw-23.11.1-SNAPSHOT.jar
16K Nov 26 21:17 arcadedb-redisw-23.11.1-SNAPSHOT.jar
267K Nov 26 21:17 arcadedb-server-23.11.1-SNAPSHOT.jar
.0M Nov 26 21:17 arcadedb-studio-23.11.1-SNAPSHOT.jar
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why studio is empty? console is only 22k? It seems like it's not including depending jars from the console. Or perhaps the fatjar is only with gremlin?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fatjar is oly for plugins: redis, gremlin, postgresql, mongodb.
errata corrige for tudio:
7.0M Nov 26 21:17 arcadedb-studio-23.11.1-SNAPSHOT.jar
10d37c8
to
d7bf5d2
Compare
Approved |
Related issues
#1279
When merged, the package project will produce three different zip/tar.gz and three different Docker images:
What is removed in mininal and headless (as per related issue #1279) :
Docker images will be:
In this case, I kept the same name to don't force people that is using the Docker image in docker-compose, scripts, k8s to rename the reference to the image in a lot of files
Again, @lvca , WDYT?
Additionale notes