Many thanks Thomas, your help is very appreciated and very helpful as 
usual. 

I followed your advice and managed to get it working. I ended making a 
simple poc project similar to mine and adapted it to the original App. I 
uploaded it here if this can help 
anyone: https://github.com/lmartones/gwt-modular-app-example.

Although I face a new problem with the codeserver now: It runs on 
my http://127.0.0.1:9876/ , and I'm using "launcherDir" to put the output 
into a folder served by the remote server (I know this sucks 
but can't really run this otherwise). So I have the *"web-client" *correctly 
output on the server. But when I load the app in the browser, it searches 
the codeserver on the remote server and fails : 

Couldn't load client from Super Dev Mode server at 
> http://remote-server:9876.


What is the right way of doing this please? 

Many thanks again,

Ludovit

Le jeudi 1 février 2018 18:56:20 UTC+1, Thomas Broyer a écrit :
>
>
>
> On Thursday, February 1, 2018 at 6:11:51 PM UTC+1, Martones wrote:
>>
>> Hi everyone, and Thomas especially :p
>>
>> I'm migrating a larger legacy project to the actual GWT standards. I'm 
>> running into many problems but I'm sure they are all due to my 
>> misunderstanding of how to wire modules between them. Here is the context 
>> and my questions : 
>>
>> *My old project structure was (GWT 2.5) : *
>>
>> Shared: gwt project - pure clientside gwt
>> WebUI: gwt project, depending on Shared
>> MobileUI: gwt project, depending on Shared
>>
>>
>> *New project (GWT 2.8.2) :*
>>
>> Right now I'm trying just to have WebUI working, so I'm inspiring from 
>> Thomas's gwt-maven-archetypes (modular webapp).
>>
>
> Beware, the "shared" in these archetypes is meant as "shared between 
> client and server", where client+shared+server are seen as "a single 
> application" but are split out due mostly due to how Maven works: client 
> and shared use the same package, so there's no need for a gwt.xml in the 
> shared library (for those who know about it, this is somehow similar to a 
> Kotlin Multiplatform project).
> In your case, the "shared" library is client-side only and shared between 
> GWT applications. Not the same kind of "shared". I would use separate 
> packages then, and the gwt-lib packaging (which comes with a gwt.xml for 
> the library): replace <packaging>jar</packaging> with 
> <packaging>gwt-lib</packaging> (or most likely add it), remove the 
> maven-source-plugin, add the gwt-maven-plugin with a configured 
> <moduleName>, and replace the dependencies to it in web-client and 
> mobile-client to a single dependency with <type>gwt-lib</type>.
>  
>
>> My architecture is :
>>
>>    - *root-project*
>>    - pom.xml
>>          - *shared*
>>             - pom.xml
>>             - src/main/module.gwt.xml
>>          - *web-client*
>>             - pom.xml
>>             - src/main/module.gwt.xml
>>          
>> *Questions*
>>
>>    - When I try to gwt:codeserver :
>>
>> Loading Java files in (project *shared*).
>> [ERROR] Errors in 'file:(some *client *project file)'
>> No source code is available for type '(some file from *shared *project)' 
>> ; did you forget to inherit a required module?
>>
>>
>>
> Do you have the gwt-maven-plugin in "shared" to process/rename that 
> module.gwt.xml? Are you missing an <inherits/> to that shared module in 
> your client's module.gwt.xml?
>  
>
>> Although I have these dependencies set in my *client* pom.xml :
>>
>> <dependency>
>>       <groupId>${project.groupId}</groupId>
>>       <artifactId>*shared*</artifactId>
>>       <version>${project.version}</version>
>>     </dependency>
>>     <dependency>
>>       <groupId>${project.groupId}</groupId>
>>       <artifactId>*shared*</artifactId>
>>       <version>${project.version}</version>
>>       <classifier>sources</classifier>
>>     </dependency>
>> I also added maven-source-plugin to both *client* and *shared*.
>>
>>    - I have some old gwt .jar dependencies that do not seem to have any 
>>    maven artifacts, how do I properly inherit these? I was thinking about 
>>    <inherits> in module.gwt.xml and adding a <scope>system</scope> 
>> dependency 
>>    in pom to link to the JAR.
>>
>>
> The <inherits/> is totally independent from your build tool, so if you 
> needed it, you still need it.
> I would recommend publishing the JARs to a Maven repository and use 
> standard dependencies, but a system scope should just work. See 
> https://www.cloudbees.com/blog/playing-trade-offs-maven
>  
>
>>
>>    - I'm running codeserver in the *root-project* right now, is that ok 
>>    even when I would like to serv my *mobile* sub-project ? (Using 
>>    "modules" parameter I suppose)
>>
>>
> Yes. codeserver would then serve both apps by default, unless you "filter" 
> them using the "projects" or "modules" parameter, or just Maven's "-pl 
> mobile-client -am"
>

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to