Giter Club home page Giter Club logo

Comments (11)

TuxPaper avatar TuxPaper commented on August 25, 2024

An external dependency would be best, but right now, BiglyBT-core.jar is actually a subset of the core (I guess I should have called it BiglyBT-android-core.jar), with most (but not all! 😞 ) of the uis module excluded, and some android specific patches I have yet to commit into the main repo (they are simple changes such as using reflection to call J8 classes that Android doesn't have)

Sometime in the future, I'll document what is included and removed (fwiw, the v1.1.0 tag has the stripped core source, because it was needed for f-droid acceptance)

from biglybt-android.

TuxPaper avatar TuxPaper commented on August 25, 2024

Once I have the Android specific code committed to the main BiglyBT repo, the following includes/excludes should build a proper BiglyBT-android-core.jar

From my BiglyBT.iml

      <sourceFolder url="file://$MODULE_DIR$/core/src" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/uis/src" isTestSource="false" />
      <excludeFolder url="file://$MODULE_DIR$/core/src/com/biglybt/core/util/dns" />
      <excludeFolder url="file://$MODULE_DIR$/core/src/com/biglybt/core/util/jman" />
      <excludeFolder url="file://$MODULE_DIR$/core/src/com/biglybt/internat" />
      <excludeFolder url="file://$MODULE_DIR$/core/src/com/biglybt/pifimpl/remote" />
      <excludeFolder url="file://$MODULE_DIR$/core/src/com/biglybt/platform/macosx" />
      <excludeFolder url="file://$MODULE_DIR$/core/src/com/biglybt/platform/unix" />
      <excludeFolder url="file://$MODULE_DIR$/core/src/com/biglybt/platform/win32" />
      <excludeFolder url="file://$MODULE_DIR$/uis/lib" />
      <excludeFolder url="file://$MODULE_DIR$/uis/src/com/biglybt/core" />
      <excludeFolder url="file://$MODULE_DIR$/uis/src/com/biglybt/plugin" />
      <excludeFolder url="file://$MODULE_DIR$/uis/src/com/biglybt/ui/common" />
      <excludeFolder url="file://$MODULE_DIR$/uis/src/com/biglybt/ui/console" />
      <excludeFolder url="file://$MODULE_DIR$/uis/src/com/biglybt/ui/icons" />
      <excludeFolder url="file://$MODULE_DIR$/uis/src/com/biglybt/ui/images" />
      <excludeFolder url="file://$MODULE_DIR$/uis/src/com/biglybt/ui/skin" />
      <excludeFolder url="file://$MODULE_DIR$/uis/src/com/biglybt/ui/swing" />
      <excludeFolder url="file://$MODULE_DIR$/uis/src/com/biglybt/ui/swt" />
      <excludeFolder url="file://$MODULE_DIR$/uis/src/com/biglybt/ui/telnet" />
      <excludeFolder url="file://$MODULE_DIR$/uis/src/org" />

From my compiler.xml

    <excludeFromCompile>
      <file url="file://$PROJECT_DIR$/core/src/com/biglybt/platform/unix/ScriptBeforeStartup.java" />
      <file url="file://$PROJECT_DIR$/uis/src/com/biglybt/ui/Main.java" />
      <file url="file://$PROJECT_DIR$/core/src/com/biglybt/ui/webplugin/WebPluginAccessController.java" />
    </excludeFromCompile>

from biglybt-android.

Shusshu avatar Shusshu commented on August 25, 2024

I think we can do a temp maven profile to generate this biglybt-android following these excludes but it's not a very good solution....

What we can do instead is reorganise biglybt in 4 modules instead of 2

  • core
  • core-pif/platform/extra
  • ui-common
  • ui-swt (current uis with a bit less stuff )

from biglybt-android.

TuxPaper avatar TuxPaper commented on August 25, 2024

I wonder about an alternative approach, but I'm not sure if it's possible or a good idea. Have a BiglyBT-Android-Core branch with those files excluded, and have the branch auto-merge from trunk.

from biglybt-android.

Shusshu avatar Shusshu commented on August 25, 2024

Why not... I don't know how to setup a repo with auto-merge + exclude but it would certainly be interesting to see that in action :)

from biglybt-android.

Shusshu avatar Shusshu commented on August 25, 2024

Have you had the chance to commit the android specific patches on biglybt core?

from biglybt-android.

Shusshu avatar Shusshu commented on August 25, 2024

Any news on this one?

from biglybt-android.

TuxPaper avatar TuxPaper commented on August 25, 2024

Behold! https://github.com/BiglySoftware/BiglyBT/tree/android
99% sure my maven changes will create a proper BiglyBT-core.jar (I did a filename diff with the manual BiglyBT-core.jar and they were identical except for an extra META-INF/takari folder)

from biglybt-android.

TuxPaper avatar TuxPaper commented on August 25, 2024

I don't have any automatic merging setup between the android branch and master. For now, I'll do it manually whenever I update the BiglyBT-core.jar at https://github.com/BiglySoftware/BiglyBT-Android/tree/master/BiglyBT/libs

I'm sure there's some way to make the maven build go to some gradle repo, so that the Android projects build.gradle could just add the dependency, but I haven't looked into it.

from biglybt-android.

Shusshu avatar Shusshu commented on August 25, 2024

You can setup another github repo as a maven repository

from biglybt-android.

TuxPaper avatar TuxPaper commented on August 25, 2024

core is now a submodule, as well as all the plugins

from biglybt-android.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.