https://kotlinlang.org logo
Join SlackCommunities
Powered by
# kbuild
  • n

    Nikky

    09/03/2019, 1:38 PM
    i have a question, if something would be possible in kbuild this is related to minecraft modding, where the basegame is obfuscated, so we provide mappings, the dev env needs to unmap dependencies and remap on compilation would this be possible via extension functions or the like? we currently have something that kinda works in gradle, now and then... but i feel it might be easier to do this on a platform without the whole rigid framework that gradle sets up or at least not break on everz update of gradle because they change something that breaks assumptions from before
  • j

    josephivie

    09/03/2019, 5:24 PM
    Oh hey, people actually joined! The answer to that question, @Nikky, is absolutely, but it's not because of me or what I've done. It's because KBuild is just a library simplifying the approach of using plain Kotlin files for building your stuff.
  • j

    josephivie

    09/03/2019, 5:26 PM
    That sounds like something you'd do through Maven - you'd have a compile-only dependency, and then in KBuild, you'd override
    jvmJarLibraries
    to have the libraries you want when building.
  • j

    josephivie

    09/03/2019, 5:26 PM
    Granted, IntelliJ support hasn't been put in there yet, so this is all just theoretical thinking about the approach.
  • j

    josephivie

    09/03/2019, 5:27 PM
    There's actually another approach - make a special secondary project object in your build file, which would: - Use the
    IntelliJModule
    interface - Pulls in your dev env dependencies. That's probably easier.
  • j

    josephivie

    09/03/2019, 7:00 PM
    I'd like to hear comments on my idea for using authentication credentials in files - I'd much prefer it not be part of the users' build scripts after doing something like that in Gradle. https://github.com/UnknownJoe796/kbuild/issues/3
  • j

    josephivie

    09/03/2019, 7:04 PM
    Also comments on https://github.com/UnknownJoe796/kbuild/issues/4
  • j

    josephivie

    09/03/2019, 7:41 PM
    I've populated the issues section on Github with things that need to be done. Two of them are marked as good for a first issue; please come help if you are so inclined! Also regardless of whether or not you want to help with coding, please, please comment on issues with thoughts or suggestions! This is meant for all of us.
  • j

    josephivie

    09/03/2019, 7:42 PM
    Most of the issues are about interface rather than code details.
  • t

    tmg

    09/04/2019, 8:11 AM
    authentication is easy to solve, since your project is a lib, that is to be used on kts. (maybe it could grow to be used in more than scripts)
  • t

    tmg

    09/04/2019, 8:11 AM
    Basically, just load them from files/envs... in your script
  • t

    tmg

    09/04/2019, 8:11 AM
    The laguage itself ca do that
  • t

    tmg

    09/04/2019, 8:11 AM
    you don't need any feature
  • t

    tmg

    09/04/2019, 8:12 AM
    No need to privide interfaces and things like that. IMO.
  • j

    josephivie

    09/04/2019, 4:54 PM
    That's what I'm suggesting in that issue - a standard way to load them from a file while leaving them encrypted. The common practices I've seen so far with credentials in most people's build scripts involve them being in plaintext either in their environment variables or in a file. By having an very convenient way to store them properly and safely, I figure people will be encouraged to be safer.
  • n

    Nikky

    09/06/2019, 1:53 PM
    make sure you think about how it integrates with common buildsystems, eg. teamcity, jenkins
  • t

    tmg

    09/06/2019, 3:23 PM
    I think it should simply be the responsibility of some other lib
  • j

    josephivie

    09/06/2019, 5:26 PM
    My thought is this: other build systems that want to hook into KBuild run the script file in Skate with the -l option, which allows you to provide a single line of code to execute in the context of the script.
  • j

    josephivie

    09/06/2019, 5:29 PM
    As for the Kotlin build script accessing everything else, well, that's what ProcessBuilder is for
  • j

    josephivie

    09/18/2019, 12:46 AM
    This channel has been quiet for a bit, but the work is progressing along. I have local tests now running JUnit and Kotlin JS! Looking into how to include native currently, and Android will be upcoming too.
  • j

    josephivie

    09/18/2019, 12:48 AM
    Oh, and there's an easy-to-add Main function which allows you to run tasks and check variables directly from the command line using reflection.
  • j

    josephivie

    09/18/2019, 4:09 AM
    @channel Taking suggestions: How should the JUnit module report results? I can run JUnit and get the result object now, but how should I display that back to the user? Are there any good libraries out there for making reports I should use?
  • n

    Nikky

    09/22/2019, 12:25 AM
    i'd prefer writing it into some sort of report that can be parsed by idea more than having nice formatting in the console you can never have too many tests anyways but sorry that i have no clue what to use for reporting
  • j

    josephivie

    10/06/2019, 1:47 AM
    I've been quiet for a bit, but the work is continuing. My job has me very busy as of late, so it's been hard to put time into this. Automatic Semantic Versioning is now supported, as is test reports output in raw HTML and in Ant's default XML format.
  • j

    josephivie

    11/22/2019, 5:11 AM
    I've got it building itself now successfully on the
    restructure
    branch! I've made some major changes as to the format. I'm not sure I'll continue on with this project, but we'll see.
  • j

    joseph_ivie

    02/20/2025, 5:48 AM
    I'm thinking about resurrecting this project. Gradle is driving me nuts - my team at work spends probably 5 hours a week trying to figure out why Gradle is struggling on their machine. Amper isn't an answer because I can't actually define any custom build tasks with it. I have several pre-build commands that I have to have for my projects. I just want to build my project without a bunch of stuff in the way and be able to better understand exactly what the heck the build system is doing.
  • j

    joseph_ivie

    02/20/2025, 5:49 AM
    However, I insist on KMP so I need some way to interact with IntelliJ. My previous attempt here was oriented around the
    .iml
    format, but if that's something that even could support KMP, then I have no idea how it would work.
  • j

    joseph_ivie

    02/20/2025, 5:49 AM
    So consider this a cry for help: if anyone knows how to do this, please please let me know.
  • j

    joseph_ivie

    02/24/2025, 3:04 PM
    Some ideas
  • j

    joseph_ivie

    02/24/2025, 3:04 PM
    IML probably the easier solution, I heard that intellij integrations for bazel also worked by generating them, but not really know details and not sure that it still true (there is a plugin for it already) Thread in Slack Conversation