[ 
https://issues.apache.org/jira/browse/IGNITE-20193?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

 Kirill Sizov updated IGNITE-20193:
-----------------------------------
    Description: 
Ignite, a product written in java, has a native module {*}platforms{*}. This 
module is a part of the multi-module Gradle build and when a java developer 
runs {{./gradlew build}} command, it gets configured and executed as well.

At the moment, to be built successfully, this module requires specific 
developer environment configuration outside Gradle. I other words, it's not 
enough to just checkout the code and run {{./gradlew build}} .

Failing to configure the native module leads to errors like
{noformat}
 Execution failed for task ':platforms:cmakeConfigureOdbc'.
> [cmakeConfigureOdbc]Error: CMAKE returned 1
{noformat}
What we want is to have a short path for java developers to get Ignite built.
h3. Proposed solution

We add a property into {{gradle.properties}} file, It will control the 
initialization of *platforms* module:
{code:java}
buildNative = false
{code}
With that the default setup will run pure java modules with no need to perform 
any OS configuration.

If on the other hand a developer want to include *platforms* into the build, 
they can either change the property in the config file or run Gradle command 
with this property set
{code:java}
./gradlew build -PbuildNative = true
{code}
 

  was:
Ignite, a product written in java, has a native module {*}platforms{*}. This 
module is a part of the multi-module Gradle build and when a java developer 
runs {{./gradlew build}} command, it gets configured and executed as well.

At the moment this module requires specific developer environment configuration 
outside the build script to be able to be built successfully. I other words, 
it's not enough to just checkout the code and run Gradle.

Failing to configure the native module leads to errors like
{noformat}
 Execution failed for task ':platforms:cmakeConfigureOdbc'.
> [cmakeConfigureOdbc]Error: CMAKE returned 1
{noformat}
What we want is to have a short path for java developers to get Ignite built.
h3. Proposed solution

We add a property into {{gradle.properties}} file, It will control the 
initialization of *platforms* module:
{code:java}
buildNative = false
{code}
With that the default setup will run pure java modules with no need to perform 
any OS configuration.

If on the other hand a developer want to include *platforms* into the build, 
they can either change the property in the config file or run Gradle command 
with this property set
{code:java}
./gradlew build -PbuildNative = true
{code}
 


> Simplify development build process
> ----------------------------------
>
>                 Key: IGNITE-20193
>                 URL: https://issues.apache.org/jira/browse/IGNITE-20193
>             Project: Ignite
>          Issue Type: Task
>            Reporter:  Kirill Sizov
>            Priority: Major
>
> Ignite, a product written in java, has a native module {*}platforms{*}. This 
> module is a part of the multi-module Gradle build and when a java developer 
> runs {{./gradlew build}} command, it gets configured and executed as well.
> At the moment, to be built successfully, this module requires specific 
> developer environment configuration outside Gradle. I other words, it's not 
> enough to just checkout the code and run {{./gradlew build}} .
> Failing to configure the native module leads to errors like
> {noformat}
>  Execution failed for task ':platforms:cmakeConfigureOdbc'.
> > [cmakeConfigureOdbc]Error: CMAKE returned 1
> {noformat}
> What we want is to have a short path for java developers to get Ignite built.
> h3. Proposed solution
> We add a property into {{gradle.properties}} file, It will control the 
> initialization of *platforms* module:
> {code:java}
> buildNative = false
> {code}
> With that the default setup will run pure java modules with no need to 
> perform any OS configuration.
> If on the other hand a developer want to include *platforms* into the build, 
> they can either change the property in the config file or run Gradle command 
> with this property set
> {code:java}
> ./gradlew build -PbuildNative = true
> {code}
>  



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

Reply via email to