Hi Vishwas,

Thanks for your reply. I used mysql-connector in my PR here and it works
fine but seems to be GPL licence which is not
compatible with ASF. From all indications the flyway tasks will fail if
gradle is upgraded.

I did as you said and filed an issue on the flyway repo here -
https://github.com/flyway/flyway/issues/2332
They replied and i hope a solution will spring forth.

As for the mysql-connector driver. All i have come across is not compatible
with ASF licence. I am still
searching though.

I would love to take up another issue if permitted as the response from the
flyway team may slow me down

All issues i have taken so far depends on gradle to be upgraded that is why.

Regards Mua

On Tue, Mar 19, 2019 at 11:03 PM Vishwas Babu <
[email protected]> wrote:

> Hi Mua,
>
> This topic was discussed earlier at
>
> https://lists.apache.org/thread.html/2d84501386e0479e9016e3c6cbbaafbcea0aa1afdff6f19caadc8658@%3Cdev.fineract.apache.org%3E
> .
>
> Here's the relevant snippet with details of alternatives for
> TaskInternal.execute()
>
> Details of a quick fix I attempted to work around the removed
> TaskInternal.execute() method follow.
>
> Using finalizedBy instead of execute ( i.e migrateTenantListDB.finalizedBy
> flywayMigrate) led to the error "Could not get unknown property
> 'classesDir' for integration test classes of type
> org.gradle.api.internal.tasks.DefaultSourceSetOutput". This was fixed by
> upgrading flyway plugin to.
>
> apply plugin: 'org.flywaydb.flyway'
> dependencies {
> classpath
> "gradle.plugin.com.boxfuse.client:gradle-plugin-publishing:5.2.4"
> }
> }
>
> However, this does not seem to work with the current drizzle driver on the
> classpath (results in the error "MySQL upgrade required: MySQL 0.1 is
> outdated and no longer supported by Flyway. Flyway currently supports MySQL
> 5.1 and newer"). It runs without issues if I swap in a MySQL driver though.
>
>
> So, the work for completing the gradle upgrade is blocked due to the issue
> with the drizzle driver (at
> https://github.com/krummas/DrizzleJDBC/blob/master/LICENSE.txt), which is
> no longer maintained.  We cannot change the driver to MySQL connector etc
> due to licensing issues (GPL v2 used by the driver is not compatible with
> the Apache license). The other popular alternative i.e MariaDB connector
> uses an LGPL license, is also not compatible with Apache license.
>
> Here are some things we could explore
>
> -> Raise an issue with https://github.com/flyway/flyway and explore the
> fix
> needed to be made for this error i.e "MySQL upgrade required: MySQL 0.1 is
> outdated and no longer supported by Flyway. Flyway currently supports MySQL
> 5.1 and newer" when using Drizzle driver.
> This error message seems wrong since the MySQL version we are using is
> greater than 5.1
> -> (Long term solution) Find another MySQL driver using a permitted licence
> (BSD , MIT etc. permitted licenses at
> https://www.apache.org/legal/resolved.html#category-a)
>
> Regards,
> Vishwas
>
> On Mon, Mar 18, 2019 at 7:38 AM Mua Rachmann <[email protected]>
> wrote:
>
> > Hello everyone,
> >
> > Trust you are all well. I have been working on MIcheal's PR to upgrade
> the
> > gradle to 5.2.1 here - https://github.com/apache/fineract/pull/525
> >
> > Currently I upgraded the flyway plugin of which i found a compatible
> mysql
> > connector (mysql-connector 8.0.12) which makes it possible to migrate the
> > sql files with some few warnings of which i handled in the PR. see here -
> > https://github.com/apache/fineract/pull/550
> >
> > For some reasons I don't know why the migrations perform the same
> stuffs.I
> > would love for someone to please review and tell me what i am doing
> wrong.
> >
> > Also due to the execute() method being removed in gradle 5. I keep on
> > getting this error when i run any command like ./gradlew flywayMigrate,
> > ./gradlew tomcatRunWar. See sample here - https://pastebin.com/VfyGXG9j
> >
> > I would love to know how to make the default execute() functions in the
> > build.gradle file work thanks
> >
> > Best regards, Mua
> >
>

Reply via email to