Coder Social home page Coder Social logo

SDK not getting fully packaged about buildxl HOT 4 OPEN

microsoft avatar microsoft commented on August 26, 2024
SDK not getting fully packaged

from buildxl.

Comments (4)

ScatteredRay avatar ScatteredRay commented on August 26, 2024

This seems true of both the nuget build from https://pkgs.dev.azure.com/ms/BuildXL/_packaging/BuildXL/nuget/v3/index.json and from a locally deployed build at C:\Users\indy\Telltale\BuildXL\Out\Bin\debug\win-x64

from buildxl.

narasamdya avatar narasamdya commented on August 26, 2024

It seems that we need to re-work some of our examples.

Indeed, to use functionalities in the SDK, one needs to include them in the resolver (specified in config.dsc). In this way DScript can find where they are located.

We typically include everything from the %BUILDXL_BIN_DIRECTORY%, in either of these two ways:

resolvers: [
        {
            kind: "DScript",
            modules: [
                ...globR(d`${Environment.getPathValue("BUILDXL_BIN_DIRECTORY")}/Sdk`, "package.config.dsc"),
                ...globR(d`${Environment.getPathValue("BUILDXL_BIN_DIRECTORY")}/Sdk`, "module.config.dsc"),
                ...globR(d`${Environment.getPathValue("BUILDXL_BIN_DIRECTORY")}/Sdk`, "module.config.bm"),
            ]
        },
    ],

or

resolvers: [
        {
            kind: "DScript",
            root: d`${Environment.getPathValue("BUILDXL_BIN_DIRECTORY")}/Sdk`,
        },
    ]

You can also take a look into how we set up/structure our integration tests here. In the tests we build a number of modules.

from buildxl.

ScatteredRay avatar ScatteredRay commented on August 26, 2024

But it still seems that many SDK functionalities aren't included in the build, such as jsonSDK.dsc?

from buildxl.

smera avatar smera commented on August 26, 2024

Only the very basic SDKs are bundled together with BuildXL binaries. Those are the SDKs you see under <bxl-install-dir>/Sdk.

All SDKs (bundled with bxl binaries or not) that are needed have to be explicitly referenced from the main config.dsc file under 'resolvers', as the example Iman was showing above. A module.config.dsc (or package.config.dsc, the old name for module files) is what declares a particular module. If a module file exposes a module 'Foo' then referencing this module file in the main config will enable expressions like ' import * as Foo from "Foo" ' in a particular spec. The 'No resolver was found that owns...' error means that you are trying to import a module that is unknown to any resolver.

I believe at the moment we are not publicly publishing a NuGet with the additional SDKs. This is something we can consider doing. But if you clone BuildXL repo, you'll find all public SDKs here, you can just point your main config file resolvers to the module files you are interested about

from buildxl.

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.