[ 
https://issues.apache.org/jira/browse/MATH-1579?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17744519#comment-17744519
 ] 

Alex Herbert edited comment on MATH-1579 at 7/19/23 10:19 AM:
--------------------------------------------------------------

An IDE may cache some parts of the build. Across multiple modules this can 
cause error when refactoring. If you do a full clean and build then your IDE 
should show the relevant errors.

If you build on the command line then you should start the build from the top 
level directory. If you build within a module then all other dependencies must 
be available to maven. For a _new module_ there will _not yet_ be a snapshot 
available to maven from the _remote_ repo. The snapshots are created and hosted 
on the Apache snapshots repo by our Jenkins CI build of the master branch. 
Until the code is merged into master there will be no snapshots for your new 
module available remotely. So you have to perform a local install. 

In your new module:
{noformat}
mvn install{noformat}
In the old legacy module, you should now be able to add the dependency to the 
new module and build using:
{code:java}
mvn [compile|test|etc]
{code}
If you run maven from the top level directory then the project reactor will 
know about all the modules and should link them up appropriately without a 
local install required. But a build from the top level will be slower. The GH 
action will perform a clean build from the top level. So you should test 
locally at least once before pushing to GH.


was (Author: alexherbert):
An IDE may cache some parts of the build. Across multiple modules this can 
cause error when refactoring. If you do a full clean and build then your IDE 
should show the relevant errors.

If you build on the command line then you should start the build from the top 
level directory. If you build within a module then all other dependencies must 
be available to maven. For a _new module_ there will _not yet_ be a snapshot 
available to maven from the _remote_ repo. The snapshots are created and hosted 
on the Apache snapshots repo by our Jenkins CI build of the master branch. 
Until the code is merged into master there will be no snapshots for your new 
module available remotely. So you have to perform a local install. 

In your new module:
{noformat}
mvn install{noformat}
In the old legacy module, you should now be able to add the dependency to the 
new module and build using:
{code:java}
mvn [compile|test|etc]
{code}
If you run maven from the top level directory then the project reactor will 
know about all the modules and should link them up appropriately within a local 
install required. But a build from the top level will be slower. The GH action 
will perform a clean build from the top level. So you should test locally at 
least once before pushing to GH.

> Create "clustering" module
> --------------------------
>
>                 Key: MATH-1579
>                 URL: https://issues.apache.org/jira/browse/MATH-1579
>             Project: Commons Math
>          Issue Type: Sub-task
>            Reporter: Gilles Sadowski
>            Priority: Major
>              Labels: modularization, pull-request-available, refactoring
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Move and enhance codes from the "legacy" module" that are currently in 
> package {{{}o.a.c.math4.legacy.ml.clustering{}}}.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to