Monday, October 19, 2020

Re: Including a submodule of a gwt project in maven

no i meant, that when i do regular compile i still see *.devmode.* files on the target dir, and when i try to use just a normal server, it says it can't see the codeserver.

On Mon, Oct 19, 2020 at 1:30 AM Dr. Lofi Dewanto <lofidewanto@gmail.com> wrote:
Hmmm do you mean, maven-gwt-plugin compiles / transpiles everything first before it starts with gwt:devmode? ... Actually it doesn't need to, I agree... maybe @tbroyer could explain?

Elhanan Maayan <elh.maayan@gmail.com> schrieb am So., 18. Okt. 2020, 23:58:
thanks, btw i don't understand why the maven plugin insists on compiling it for devmode

On Mon, Oct 19, 2020 at 12:44 AM lofid...@gmail.com <lofidewanto@gmail.com> wrote:
Yes, the main thing you have a fast turn around time for compile - test cycle for UI development. Because if you are working on UI you don't care about the business logic on the server. You just need some data examples which you can mock easily with your DTO...

Elhanan schrieb am Sonntag, 18. Oktober 2020 um 23:35:23 UTC+2:
essentially i could use all the real static files in the client side 

On Mon, Oct 19, 2020 at 12:30 AM lofid...@gmail.com <lofid...@gmail.com> wrote:
Yes and you can control it using Maven assembly as I showed above

You can add the CSS files to be added to the server module on deployment...

But again, of course you can use gwt:codeserver instead of standalone gwt:devmode 
Elhanan schrieb am Sonntag, 18. Oktober 2020 um 22:53:31 UTC+2:
yes, but in addition to the html file your also have the css files as well.. 

On Sun, Oct 18, 2020 at 10:54 PM lofid...@gmail.com <lofid...@gmail.com> wrote:
Yes correct, HTML file is your host file.

I always put a simple HTML file to be able to launch / debug gwt webapp on the client... see: https://github.com/gwtboot/domino-rest-enum-date/blob/master/domino-rest-enum-date-client/src/main/java/com/example/public/index.html

But you don't have to use the same HTML file for client and server. On the server side I also have a HTML file: https://github.com/gwtboot/domino-rest-enum-date/blob/master/domino-rest-enum-date-server/src/main/resources/static/index.html which is a bit different.

The main artifact from "client" is the JS file which you can insert everywhere in a HTML file (server, etc.)

Elhanan schrieb am Sonntag, 18. Oktober 2020 um 21:32:27 UTC+2:
i missing something basic here with all the code server/dev mode/super dev mode/launch dir/workdir/startup url/s 
at the end of the day you have to have an html file to use, when you launch for debug, but the gwt plugins are in the client module which doesn't have the html file on one hand, but they compile and write to the server module on other hand. 

On Sun, Oct 18, 2020 at 9:17 PM lofid...@gmail.com <lofid...@gmail.com> wrote:
Yes, but that's not a problem... in my example above I took out the html file (https://github.com/gwtboot/domino-rest-enum-date/blob/master/domino-rest-enum-date-client/src/assembly/distribution.xml) so that I only packaged the JS files... and at the end I use the HTML files from the server part.

IMHO it is always good to be able to implement the "client" without the server part. I always mock the whole "server part"...

Elhanan schrieb am Sonntag, 18. Oktober 2020 um 19:28:19 UTC+2:
but the webui-server contains all the static resources like the html page 

On Sun, Oct 18, 2020 at 8:24 PM lofid...@gmail.com <lofid...@gmail.com> wrote:
--webui
----webui-client ---> this is the GWT code
----webui-server ---> this is server-side code like Servlet, Spring Boot, JavaEE servers

This is the standard layout for maven-gwt-plugin so would be no problem at all... and for the mod1 / mod2: as long as you do: install, the webui-client (gwt codeserver) will recognize the "source code" and could also transpile the code on the fly... (at least the last time I check it out)...

If you want to completely separate everything you could go for:

--modules
----mod1
----mod2

--webui
----webui-client
----webui-server 

--builder-modules

Elhanan schrieb am Sonntag, 18. Oktober 2020 um 19:06:45 UTC+2:
i did just that only it's more like 
main_pom
--mod1
--mod2
--webui
----webui-client
----webui-server 
--builder-mod that collects all jars from other modes into a directory for final deploy and installation 

what i wanna do is also be able to build only the webui project, and possibility to use the codeserver option which i don't think i can now because they are all split in 3 modules

On Sun, Oct 18, 2020 at 8:02 PM lofid...@gmail.com <lofid...@gmail.com> wrote:
I cannot follow you, maybe you could write something like:

cockpit
-- cockpit-client-ui
-- cockpit-server
...

I'm not sure how the structure of your projects looks like?
Elhanan schrieb am Sonntag, 18. Oktober 2020 um 17:28:19 UTC+2:
i'm assuming those 2 need to be in there own aggregator pom (i.e my main parent pom will a web ui pom, which will have those submodules) , because i want to be able to build just that webproject alone without the need to build the whole project again (this is because that in order to develop for cockpit i can't use any of the rapid inplace server development, but compile the while thing and copy the distro to a linux server running the cockpit server)

On Sun, Oct 18, 2020 at 6:23 PM lofid...@gmail.com <lofid...@gmail.com> wrote:
In my example I only use the gwt-maven-plugin for the "client" part (GWT part). On the server part I use "pure" Spring Boot approach, therefore I copied all the JS stuffs from the "client" part with the help of maven-dependencies-plugin. I'm not using war deployment on Spring Boot...

For me the main concept: From GWT project you get just JS file(s) and you can copy it somewhere else where you have a web server. I also already use "only" the JS file(s) and copy the automatically to NGinX without server part.

Elhanan schrieb am Sonntag, 18. Oktober 2020 um 17:03:21 UTC+2:
yes, i understand that gwt-maven-plugin is "opinionated" (i.e forces me to do it) and i'm in the process of doing so, the thing is there's no "Server part" it's meant to operate as a page under cockpit ui 

On Sun, Oct 18, 2020 at 6:00 PM lofid...@gmail.com <lofid...@gmail.com> wrote:
Hmm it is not good to have "server" part and "client" part (web browser, GWT) in one Maven module... The best practice is always to separate them.

I wrote some simple explanation in this project: https://github.com/gwtboot/domino-rest-enum-date with 3 Maven modules, check the explanation over there...
Elhanan schrieb am Sonntag, 18. Oktober 2020 um 16:55:35 UTC+2:
i don't know, right now i'm having trouble to even compile everything, i mean, i can either compile all the static files  (html WEB-INF) into a war, OR i can compile the gwt sources, depending on what i place in pom.xml (gwt-app or war) i was trying to have it all in one module

On Sun, Oct 18, 2020 at 5:49 PM lofid...@gmail.com <lofid...@gmail.com> wrote:
Is it not possible to add those contents into an artifact with assembly for example? So that you can use it later for the dependency? I'm doing this in this example:

Hope this helps.
Elhanan schrieb am Sonntag, 18. Oktober 2020 um 12:48:30 UTC+2:
hi..
i have a submodule of a gwt project that it's artifact are meant to be included as part of the main artifact (which is a pom containing a debian installer) 
usually i would use copy-depdencies plugin to copy the jars into the main artifact, but in this case there's no jar, is there a way i can copy the output directory of that submodule into the main artifact? 

--
You received this message because you are subscribed to a topic in the Google Groups "GWT Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-web-toolkit/42DICj36J0E/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-web-tool...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit/38ff23af-b3d7-4aef-80e8-9451486aa641n%40googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "GWT Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-web-toolkit/42DICj36J0E/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-web-tool...@googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "GWT Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-web-toolkit/42DICj36J0E/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-web-tool...@googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "GWT Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-web-toolkit/42DICj36J0E/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-web-tool...@googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "GWT Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-web-toolkit/42DICj36J0E/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-web-tool...@googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "GWT Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-web-toolkit/42DICj36J0E/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-web-tool...@googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "GWT Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-web-toolkit/42DICj36J0E/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-web-tool...@googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "GWT Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-web-toolkit/42DICj36J0E/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-web-tool...@googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "GWT Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-web-toolkit/42DICj36J0E/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit/a3ea2e87-dca4-41d6-a9b0-d741e4ee8084n%40googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "GWT Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-web-toolkit/42DICj36J0E/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit/CAETAEKLk_o76vTp71606St-NxWU_4hju3oa55EaKzN_kHeBJvg%40mail.gmail.com.

--
You received this message because you are subscribed to a topic in the Google Groups "GWT Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-web-toolkit/42DICj36J0E/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit/CAGM6Xmbjhmky2hMNbvn9GNm82K4984unfm_urdXqF8ucVTwCvg%40mail.gmail.com.

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit/CAETAEKJ-ao2zVvyj2NZn9G8eed4XUrqMBsroM8Wqaud%2BfZQg8g%40mail.gmail.com.

No comments:

Post a Comment