# build tools

Published articles for build tools.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## C++ libraries linking

DevFeed: [C++ libraries linking](<https://devfeed.tech/articles/c-libraries-linking-22393.md>)

Original publisher: [Read original article](<https://www.red-lang.org/2026/07/c-libraries-linking.html>)

Author: Nenad Rakocevic (noreply@blogger.com)

Published: 2026-07-29T19:07:38Z

Content type: release

Language: en

Sources: [Red](<https://devfeed.tech/sources/red.md>)

Topics: [Red](<https://devfeed.tech/topics/red.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [toolchain](<https://devfeed.tech/topics/toolchain.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [build-tools](<https://devfeed.tech/tags/build-tools.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [clang](<https://devfeed.tech/tags/clang.md>), [compilation](<https://devfeed.tech/tags/compilation.md>), [directx](<https://devfeed.tech/tags/directx.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [linux](<https://devfeed.tech/tags/linux.md>), [macos](<https://devfeed.tech/tags/macos.md>), [msvc](<https://devfeed.tech/tags/msvc.md>), [static-linking](<https://devfeed.tech/tags/static-linking.md>), [toolchain](<https://devfeed.tech/tags/toolchain.md>), [windows](<https://devfeed.tech/tags/windows.md>), [x86](<https://devfeed.tech/tags/x86.md>)

### AI overview

The Red toolchain now supports statically linking C++ libraries, including their runtime, on Windows, Linux, and macOS. It accepts libraries built with MSVC, GCC, or clang through the existing import system and compilation switch, with platform-specific prerequisites and constraints.

### Source excerpt

When we introduced static linking of C libraries, the promise was simple: name a .lib or .a archive in your #import, compile with -s, and ship one self-contained executable, no DLLs riding along, nothing to install on the target machine. There was one big frontier left, and everyone saw it coming: the libraries people want most (vision, GUI, audio, machine learning) are written in C++. A C++ library is a very different animal to link: it brings global constructors, exceptions, RTTI, templates, thread-local storage, and an entire language runtime that expects to be wired up just so. Until now, that was the line where you switched back to DLLs. That line is gone. The Red toolchain now statically links C++ libraries too (their runtime included) on every platform Red targets: Windows, Linux (x86 and ARM), and macOS. The best part: nothing changes. It is the same import system and same compilation switch: red -r -s myapp.red Libraries built with MSVC, GCC or clang are all accepted, in their native object formats. What you need preinstalled ➤ Windows: for C++ libraries (or C code built against Microsoft's static runtime), install the free Visual Studio Build Tools with the "Desktop development with C++" workload. Just one installer, and Red locates everything by itself: no vcvarsall, no PATH, no environment variables. Plain C libraries still need nothing at all and that now extends to C libraries touching COM, DirectX or MediaFoundation: the GUID constants such code references ship inside the toolchain, so a fresh Windows 11 with only red-toolchain executable on it links them! ➤ Linux: the GNU runtime archives from your distribution's gcc packages (libstdc++.a, libgcc.a and friends) placed next to your library. If one is missing, the linker names exactly what it needs. ➤ macOS: nothing beyond the toolchain; the system C++ runtime binds automatically. Some constraints 32-bit libraries for now, until the 64-bit toolchain is ready. The imported surface must be C (extern "C",

## Optimizing Our Build Times by Migrating from Webpack to Rspack

DevFeed: [Optimizing Our Build Times by Migrating from Webpack to Rspack](<https://devfeed.tech/articles/optimizing-our-build-times-by-migrating-from-webpack-to-rspack-27426.md>)

Original publisher: [Read original article](<https://engineeringblog.yelp.com/2026/05/optimizing-our-build-times-by-migrating-from-webpack-to-rspack.html>)

Author: Benson Pan, Software Engineer

Published: 2026-05-20T00:00:00Z

Content type: tutorial

Language: en

Sources: [Yelp](<https://devfeed.tech/sources/yelp.md>)

Topics: [Webpack](<https://devfeed.tech/topics/webpack.md>), [build times](<https://devfeed.tech/topics/build-times.md>), [monorepo](<https://devfeed.tech/topics/monorepo.md>), [build performance](<https://devfeed.tech/topics/build-performance.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [build-times](<https://devfeed.tech/tags/build-times.md>), [build-tools](<https://devfeed.tech/tags/build-tools.md>), [developer-experience](<https://devfeed.tech/tags/developer-experience.md>), [migration-guide](<https://devfeed.tech/tags/migration-guide.md>), [monorepo](<https://devfeed.tech/tags/monorepo.md>), [performance](<https://devfeed.tech/tags/performance.md>), [speed](<https://devfeed.tech/tags/speed.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [tools](<https://devfeed.tech/tags/tools.md>), [webpack](<https://devfeed.tech/tags/webpack.md>)

### AI overview

A Yelp engineering blog post explains how the team migrated monorepo builds from Webpack to Rspack. It reports an approximately 50% reduction in build time and discusses compatibility, configuration, custom plugins, and a staged rollout.

### Source excerpt

Over the years, Webpack has remained the bundler of choice for many JS projects, including here at Yelp. While it has served us well, its speed has increasingly become a bottleneck as our monorepo continues to grow. Fortunately, a bunch of new build tools (Vite, Parcel, Rspack, etc.) have emerged in recent years. Each of these tools promises different ways of improving performance and developer experience. In this blog post, we'll walk through how we migrated our monorepo builds from Webpack to Rspack and achieved an approximately 50% reduction in build time. Why Rspack Our team has been closely observing...

## Strengthening your Software Supply Chain

DevFeed: [Strengthening your Software Supply Chain](<https://devfeed.tech/articles/strengthening-your-software-supply-chain-23031.md>)

Original publisher: [Read original article](<https://www.javaadvent.com/2025/12/strengthening-your-software-supply-chain.html>)

Author: Andres Almiray

Published: 2025-12-12T03:03:02Z

Content type: article

Language: en

Sources: [Java Advent Calendar](<https://devfeed.tech/sources/java-advent-calendar.md>)

Topics: [supply-chain-security](<https://devfeed.tech/topics/supply-chain-security.md>), [reproducible builds](<https://devfeed.tech/topics/reproducible-builds.md>), [Java](<https://devfeed.tech/topics/java.md>), [Software](<https://devfeed.tech/topics/software.md>), [Maven](<https://devfeed.tech/topics/maven.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [build-tools](<https://devfeed.tech/tags/build-tools.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [devops](<https://devfeed.tech/tags/devops.md>), [integrity](<https://devfeed.tech/tags/integrity.md>), [java](<https://devfeed.tech/tags/java.md>), [reproducible-builds](<https://devfeed.tech/tags/reproducible-builds.md>), [security](<https://devfeed.tech/tags/security.md>), [software-supply-chain](<https://devfeed.tech/tags/software-supply-chain.md>), [supply-chain](<https://devfeed.tech/tags/supply-chain.md>)

### AI overview

This article explains how to strengthen the Java software supply chain beyond relying on build tools alone. It discusses SLSA security controls, attacks such as Log4Shell and the XZ backdoor, reproducible artifacts, and support from JReleaser for applying these practices.

### Source excerpt

According to Wikipedia, a software supply chain is the components, libraries, tools, and processes used to develop, build, and publish a software artifact. The Java space provides thousands upon thousands of libraries that may be consumed as dependencies for building projects. Many of these libraries rely on Apache Maven as their build tool of choice, [...] The post Strengthening your Software Supply Chain appeared first on JVM Advent.

## HTML Minifier: A 12-Year Journey Building and Maintaining an Open Source Tool

DevFeed: [HTML Minifier: A 12-Year Journey Building and Maintaining an Open Source Tool](<https://devfeed.tech/articles/html-minifier-a-12-year-journey-building-and-maintaining-an-open-source-tool-37542.md>)

Original publisher: [Read original article](<https://deanhume.com/html-minifier-a-12-year-journey-building-and-maintaining-an-open-source-tool/>)

Author: Dean Hume

Published: 2025-10-30T14:49:50Z

Content type: opinion

Language: en

Sources: [Dean Hume](<https://devfeed.tech/sources/dean-hume.md>)

Topics: [HTML](<https://devfeed.tech/topics/html.md>), [Web](<https://devfeed.tech/topics/web.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [Angular](<https://devfeed.tech/topics/angular.md>), [build tools](<https://devfeed.tech/topics/build-tools.md>)

Tags: [angular](<https://devfeed.tech/tags/angular.md>), [asp-net](<https://devfeed.tech/tags/asp-net.md>), [build-tools](<https://devfeed.tech/tags/build-tools.md>), [html](<https://devfeed.tech/tags/html.md>), [journey](<https://devfeed.tech/tags/journey.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [performance](<https://devfeed.tech/tags/performance.md>), [web-performance](<https://devfeed.tech/tags/web-performance.md>)

### AI overview

The author reflects on developing and maintaining an open-source HTML Minifier over 12 years. The tool reduces HTML size by removing unnecessary whitespace, line breaks, and comments, and evolved with framework compatibility, recursive scanning, multi-file support, line-length controls, and performance metrics.

### Source excerpt

Discover the 12-year journey behind HTML Minifier an open source tool that helped developers optimize web performance and reduce page load times.

## Simplifying JVM App Development with Heroku's Buildpack Magic

DevFeed: [Simplifying JVM App Development with Heroku's Buildpack Magic](<https://devfeed.tech/articles/simplifying-jvm-app-development-with-heroku-s-buildpack-magic-26495.md>)

Original publisher: [Read original article](<https://www.heroku.com/blog/simplifying-jvm-app-development-herokus-buildpack-magic/>)

Author: Andrew Fawcett

Published: 2025-03-24T15:00:00Z

Content type: tutorial

Language: en

Sources: [Heroku](<https://devfeed.tech/sources/heroku.md>)

Topics: [Buildpacks](<https://devfeed.tech/topics/buildpacks.md>), [Heroku](<https://devfeed.tech/topics/heroku.md>), [Java](<https://devfeed.tech/topics/java.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Micronaut](<https://devfeed.tech/topics/micronaut.md>), [Quarkus](<https://devfeed.tech/topics/quarkus.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [build-tools](<https://devfeed.tech/tags/build-tools.md>), [buildpacks](<https://devfeed.tech/tags/buildpacks.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [developer-tools](<https://devfeed.tech/tags/developer-tools.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [heroku-key-value-store](<https://devfeed.tech/tags/heroku-key-value-store.md>), [heroku-postgres](<https://devfeed.tech/tags/heroku-postgres.md>), [java](<https://devfeed.tech/tags/java.md>), [languages](<https://devfeed.tech/tags/languages.md>), [maven](<https://devfeed.tech/tags/maven.md>), [micronaut](<https://devfeed.tech/tags/micronaut.md>), [procfile](<https://devfeed.tech/tags/procfile.md>), [quarkus](<https://devfeed.tech/tags/quarkus.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>)

### AI overview

Heroku's Java buildpack automates much of the process of deploying JVM applications. It detects languages and frameworks, obtains build tools, configures the runtime, and can provide framework-specific settings for Spring Boot, Quarkus, and Micronaut applications.

### Source excerpt

Heroku's commitment to developer productivity shines through in its powerful buildpack system. They handle the heavy lifting of building your app, letting you focus on what matters most: writing code. A prime example is the Heroku Java buildpack, a versatile tool that simplifies deploying Java applications, especially those built with popular frameworks like Spring Boot, [...] The post Simplifying JVM App Development with Heroku's Buildpack Magic appeared first on Heroku.

## The State of ES5 on the Web

DevFeed: [The State of ES5 on the Web](<https://devfeed.tech/articles/the-state-of-es5-on-the-web-29530.md>)

Original publisher: [Read original article](<https://philipwalton.com/articles/the-state-of-es5-on-the-web/>)

Author: For library authors

Published: 2024-09-08T15:18:32Z

Content type: article

Language: en

Sources: [Philip Walton](<https://devfeed.tech/sources/philip-walton.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [legacy](<https://devfeed.tech/topics/legacy.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [polyfill](<https://devfeed.tech/topics/polyfill.md>), [Code](<https://devfeed.tech/topics/code.md>), [browser](<https://devfeed.tech/topics/browser.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [browser](<https://devfeed.tech/tags/browser.md>), [build-tools](<https://devfeed.tech/tags/build-tools.md>), [code](<https://devfeed.tech/tags/code.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [developers](<https://devfeed.tech/tags/developers.md>), [es2015](<https://devfeed.tech/tags/es2015.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [legacy](<https://devfeed.tech/tags/legacy.md>), [polyfill](<https://devfeed.tech/tags/polyfill.md>), [recommendations](<https://devfeed.tech/tags/recommendations.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

This article examines whether web developers and JavaScript library authors still need to transpile code to ES5. It uses data about browser support, popular libraries, tools, and websites to offer production recommendations, while discussing the bundle-size costs of transpilation and polyfills.

### Source excerpt

Should web developers and JavaScript library authors still transpile their code to ES5? This post looks at what the data suggests based on what popular libraries, tools, and websites are doing

## Gradle's Evolution - A Conversation with Adam Murdoch

DevFeed: [Gradle's Evolution - A Conversation with Adam Murdoch](<https://devfeed.tech/articles/gradle-s-evolution-a-conversation-with-adam-murdoch-24637.md>)

Original publisher: [Read original article](<https://blog.gradle.org/gradles-evolution-a-conversation-with-adam-murdoch>)

Author: Laura Kassovic

Published: 2024-06-12T04:00:00Z

Content type: article

Language: en

Sources: [The Gradle Blog](<https://devfeed.tech/sources/the-gradle-blog.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [Dependency management](<https://devfeed.tech/topics/dependency-management.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [Android](<https://devfeed.tech/topics/android.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [automation](<https://devfeed.tech/tags/automation.md>), [build-tool](<https://devfeed.tech/tags/build-tool.md>), [build-tools](<https://devfeed.tech/tags/build-tools.md>), [dependency-management](<https://devfeed.tech/tags/dependency-management.md>), [evolution](<https://devfeed.tech/tags/evolution.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>)

### AI overview

An interview with Gradle CTO Adam Murdoch traces Gradle's origins, growth, and evolution as a build tool. It discusses Gradle's expanding role across dependency management, deployment, production, Kotlin, and Android, along with major product milestones from 2012 through 2018.

### Source excerpt

We had a conversation with Adam Murdoch, the CTO of Gradle, about his journey from the very origins of Gradle. Adam offers insights into the latest features and discusses the future of build tools. The Genesis of Gradle Adam began his journey with Gradle around 2008 while seeking a robust alternative to the Ant-based build systems that he used at the time. He recalls, "I was looking for a replacement for our Ant-based build system, came across this new tool called Gradle, started using it, [and] started sending in patches for improvements." Hans Dockter, the founder of Gradle, recognized Adam's contributions and invited him to join as a maintainer. This collaboration marked the beginning of a transformative journey in build automation. "Here we are 15 years later," Adam remarks, reflecting on the vast changes since those early days. Recognizing a growing ecosystem Reflecting on the evolution of build tools over the years, Adam notes the dramatic expansion of the ecosystem. "When we started Gradle, there were no microservices [...] building your software meant compiling some classes, making adjustments, and then you were done." Today, the landscape is vastly different. Build tools now need to handle various tasks from deployment to production, which were not considered when Gradle first began. The introduction of languages like Kotlin and platforms like Android has further expanded Gradle's role in the developer community. 2012: Gradle Build Tool 1.0 introduces a faster, more accurate dependency resolution engine and expands plugin support. 2014: Gradle Build Tool 2.0 improves performance and memory efficiency, introduces new dependency management features, and enhances incremental build support. 2016: Gradle Build Tool 3.0 enables the Gradle Daemon by default and enhances IDE support with auto-completion and navigation with Kotlin DSL. 2016: Gradle, Inc. releases Gradle Enterprise as a commercial product to build software better and faster with Build Scan® and Build C

## Amper: a new way to configure Gradle projects? - Gustavo Fão Valvassori

DevFeed: [Amper: a new way to configure Gradle projects? - Gustavo Fão Valvassori](<https://devfeed.tech/articles/amper-a-new-way-to-configure-gradle-projects-gustavo-fao-valvassori-38157.md>)

Original publisher: [Read original article](<https://touchlab.co/amper-a-new-way-to-configure-gradle-projects>)

Published: 2023-12-07T00:00:00Z

Content type: article

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [jetbrains](<https://devfeed.tech/topics/jetbrains.md>), [YAML](<https://devfeed.tech/topics/yaml.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>)

Tags: [build-system](<https://devfeed.tech/tags/build-system.md>), [build-tools](<https://devfeed.tech/tags/build-tools.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [declarative](<https://devfeed.tech/tags/declarative.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [kmp](<https://devfeed.tech/tags/kmp.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>)

### AI overview

This article introduces Amper, an experimental JetBrains tool for configuring Kotlin Multiplatform projects through a declarative markup approach instead of Groovy or Kotlin build scripts. It remains within a Gradle environment while using an additional YAML file, and its syntax and capabilities may change.

### Source excerpt

If you ask any KMP developer what's the biggest pain point on it, they will probably say "configuration". Amper is a new tool developed by JetBrains to help developers configure projects without all the complexity of Gradle.

## Fixtures made easy with KSP

DevFeed: [Fixtures made easy with KSP](<https://devfeed.tech/articles/fixtures-made-easy-with-ksp-23703.md>)

Original publisher: [Read original article](<https://engineering.theblueground.com/fixtures-made-easy-with-the-help-of-ksp/>)

Author: Vaios Tsitsonis

Published: 2022-11-16T12:09:04Z

Content type: tutorial

Language: en

Sources: [Blueground Engineering blog](<https://devfeed.tech/sources/blueground-engineering-blog.md>)

Topics: [Code](<https://devfeed.tech/topics/code.md>), [Boilerplate](<https://devfeed.tech/topics/boilerplate.md>), [Library](<https://devfeed.tech/topics/library.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [blog-post](<https://devfeed.tech/tags/blog-post.md>), [build-tools](<https://devfeed.tech/tags/build-tools.md>), [code](<https://devfeed.tech/tags/code.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [open-source](<https://devfeed.tech/tags/open-source.md>)

### AI overview

The article presents Fixtures, an open-source Blueground library built with KSP to generate helper functions for instantiating data-class objects in tests. It explains generated helpers, supported parameter types, configurable random default values, and handling of unsupported field types.

### Source excerpt

Standing on the shoulders of giants In a previous blog post, we discussed how to build tools with the help of KSP. In this one, we will present one of the tools we built in Blueground that recently has been released as an open-source project. Initially, we were inspired

## Introducing KMMBridge for Teams

DevFeed: [Introducing KMMBridge for Teams](<https://devfeed.tech/articles/introducing-kmmbridge-for-teams-25947.md>)

Original publisher: [Read original article](<https://medium.com/@kpgalligan/introducing-kmmbridge-for-teams-da825da42e81?source=rss-c2f810aa7890------2>)

Author: Kevin Galligan

Published: 2022-10-10T20:10:44Z

Content type: release

Language: en

Sources: [Stories by Kevin Galligan on Medium](<https://devfeed.tech/sources/stories-by-kevin-galligan-on-medium.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>)

Tags: [binaries](<https://devfeed.tech/tags/binaries.md>), [build-tools](<https://devfeed.tech/tags/build-tools.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [kotlin-native](<https://devfeed.tech/tags/kotlin-native.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

Touchlab announces KMMBridge, part of its Faktory tooling suite, to help mobile teams publish and consume pre-built Kotlin Multiplatform Mobile Xcode Framework binaries as an internal SDK. The article explains the Internal SDK Flow, in which a team member or CI builds and publishes the framework so iOS developers can integrate it without building Kotlin locally.

### Source excerpt

Today we are announcing KMMBridge, part of Touchlab's new Faktory* tooling suite. This set of build tools allows mobile teams to successfully publish shared code faster than ever with Kotlin Multiplatform Mobile. Specifically targeted at iOS publishing, teams can now implement the Internal SDK Flow approach, today's best practice to quickly integrate KMM into production app builds. GitHub - touchlab/KMMBridge: KMMBridge is a set of Gradle tooling that facilitates publishing and consuming pre-built KMM (Kotlin Multiplatform Mobile) Xcode Framework binaries. See https://touchlab.github.io/KMMBridge/intro/ to get started. KMMBridge allows teams to publish and integrate Kotlin Multiplatform Mobile (KMM) Xcode Frameworks as an internal SDK.When you're ready to get started, head to our KMMBridge Quick Start Tutorial.Why We Built a Team-Focused Tool Touchlab has spent years working with teams at different stages of their Kotlin Multiplatform journey. Evaluating KMP, putting KMP into production, and yes, even a fair bit of time talking to teams who looked at KMP and decided against it. One of the key lessons we've learned seems obvious in retrospect. Different types of teams work in different ways. Of course, every team is different. Every situation will be different. However, there are common patterns. Out of the box, the KMP and the Kotlin/Native toolkit will let you build an Xcode Framework, then integrate it locally into your Xcode project. This works well if everybody on the team builds Kotlin. And in an ideal world, everybody would be able to build Kotlin. But in the real world, most teams who have succeeded followed the Internal SDK Flow approach. The Internal SDK Flow Approach As with adopting any technology on a team, early wins help build momentum and confidence so the team can unlock the full potential over time. The Internal SDK Flow has emerged as the best practice to get faster ROI when adopting KMM. At its simplest, this approach means the Kotlin Xcode Framew

## Introducing KMMBridge For Teams - Kevin Galligan

DevFeed: [Introducing KMMBridge For Teams - Kevin Galligan](<https://devfeed.tech/articles/introducing-kmmbridge-for-teams-kevin-galligan-38224.md>)

Original publisher: [Read original article](<https://touchlab.co/introducing-kmmbridge-teams>)

Published: 2022-10-10T13:32:36Z

Content type: release

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [SDK](<https://devfeed.tech/topics/sdk.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [build-tools](<https://devfeed.tech/tags/build-tools.md>), [built-by-touchlab](<https://devfeed.tech/tags/built-by-touchlab.md>), [ci](<https://devfeed.tech/tags/ci.md>), [featured](<https://devfeed.tech/tags/featured.md>), [ios](<https://devfeed.tech/tags/ios.md>), [kmm](<https://devfeed.tech/tags/kmm.md>), [kmmbridge](<https://devfeed.tech/tags/kmmbridge.md>), [kmp](<https://devfeed.tech/tags/kmp.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [teams](<https://devfeed.tech/tags/teams.md>), [tooling](<https://devfeed.tech/tags/tooling.md>)

### AI overview

Touchlab announces KMMBridge, part of its Faktory tooling suite, to help mobile teams publish Kotlin Multiplatform code as internal SDKs for iOS. The article explains the Internal SDK Flow, in which a pre-built Kotlin Xcode Framework is published internally so iOS developers can consume it without building Kotlin locally.

### Source excerpt

With a Kotlin Multiplatform beta on the horizon, Touchlab is introducing KMMBridge, a tooling designed to get teams started with KMM.

## Espressif IDE and What's new in v2.4.0 -- Part 2

DevFeed: [Espressif IDE and What's new in v2.4.0 -- Part 2](<https://devfeed.tech/articles/espressif-ide-and-what-s-new-in-v2-4-0-part-2-13866.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/espressif-ide-and-whats-new-in-v2-4-0-part-2/>)

Author: John Lee

Published: 2022-03-01T00:00:00Z

Content type: tutorial

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [Espressif IDE](<https://devfeed.tech/topics/espressif-ide.md>), [ide](<https://devfeed.tech/topics/ide.md>), [Application Development](<https://devfeed.tech/topics/application-development.md>), [ESP-IDF](<https://devfeed.tech/topics/esp-idf.md>), [Windows](<https://devfeed.tech/topics/windows.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [macOS](<https://devfeed.tech/topics/macos.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [browser](<https://devfeed.tech/tags/browser.md>), [build-tools](<https://devfeed.tech/tags/build-tools.md>), [cmake](<https://devfeed.tech/tags/cmake.md>), [download](<https://devfeed.tech/tags/download.md>), [eclipse](<https://devfeed.tech/tags/eclipse.md>), [esp-idf](<https://devfeed.tech/tags/esp-idf.md>), [espressif](<https://devfeed.tech/tags/espressif.md>), [espressif-ide](<https://devfeed.tech/tags/espressif-ide.md>), [ide](<https://devfeed.tech/tags/ide.md>), [idf-eclipse-plugin](<https://devfeed.tech/tags/idf-eclipse-plugin.md>), [installation](<https://devfeed.tech/tags/installation.md>), [linux](<https://devfeed.tech/tags/linux.md>), [macos](<https://devfeed.tech/tags/macos.md>), [v2-4-0](<https://devfeed.tech/tags/v2-4-0.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

This article explains Espressif IDE v2.4.0 installation options for Windows, macOS, and Linux. It covers a macOS security workaround and describes the Windows all-in-one offline installer, which bundles ESP-IDF and required development tools.

### Source excerpt

This section will talk about Espressif IDE installation options that are available and platforms supported. Espressif IDE supports Windows, macOS, and Linux platforms. Please find the download links below to get started. macOS security notice# On macOS, if you download the Espressif-IDE archive with the browser, the strict security checks on recent macOS will prevent it to run, and complain that the program is damaged.

## TeamCity C# API для сборки приложений

DevFeed: [TeamCity C# API для сборки приложений](<https://devfeed.tech/articles/teamcity-c-api-23952.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/JetBrains/articles/651247/>)

Author: NikolayPyanikov (JetBrains)

Published: 2022-02-15T09:21:35Z

Content type: tutorial

Language: ru

Sources: [JetBrains RU](<https://devfeed.tech/sources/jetbrains-ru.md>)

Topics: [teamcity](<https://devfeed.tech/topics/teamcity.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [.NET](<https://devfeed.tech/topics/net.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [DevOps](<https://devfeed.tech/topics/devops.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [ASP.NET Core](<https://devfeed.tech/topics/asp-net-core.md>)

Tags: [asp-net](<https://devfeed.tech/tags/asp-net.md>), [asp-net-core](<https://devfeed.tech/tags/asp-net-core.md>), [build](<https://devfeed.tech/tags/build.md>), [build-system](<https://devfeed.tech/tags/build-system.md>), [build-tools](<https://devfeed.tech/tags/build-tools.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [cli](<https://devfeed.tech/tags/cli.md>), [core](<https://devfeed.tech/tags/core.md>), [devops](<https://devfeed.tech/tags/devops.md>), [docker](<https://devfeed.tech/tags/docker.md>), [net](<https://devfeed.tech/tags/net.md>), [script](<https://devfeed.tech/tags/script.md>), [teamcity](<https://devfeed.tech/tags/teamcity.md>)

### AI overview

This article presents the TeamCity C# scripting API for automating application builds. It describes integration with the .NET CLI, including process execution and detailed build, warning, error, and test information, as well as running processes in Docker containers and using ASP.NET Core-style composition and dependency injection. It also introduces packages for running, debugging, testing, and templating C# build scripts.

### Source excerpt

Начиная с первых версий .NET Core для сборки приложений, компания Microsoft предоставляет простой и удобный интерфейс командной строки (.NET CLI). Его возможности покрывают большинство потребностей по сборке, упаковке и тестированию приложений. Несмотря на это, по мере роста приложения, увеличения количества его составных частей/сборок/пакетов, усложнения процессов тестирования и развертывания, рядом с проектом часто появляются такие файлы сценариев как build.ps1, build.sh, build.cmd или даже полноценные инфраструктуры автоматизации построения приложений. В статье TeamCity C# script runner была предложена еще одна альтернатива - сценарии C#, которые особенно полезны, когда необходимо эффективно автоматизировать какой либо аспект сборки силами .NET разработчиков или DevOps, знакомыми с синтаксисом C#. Тогда же была упомянута идея расширить встроенный API сценариев для более глубокой интеграции с TeamCity и для поддержки наиболее частых вариантов использования. Предполагая, что API сценариев чаще всего будет задействован при сборке приложений, мы в первую очередь решили расширить именно его. В этой статье будут приведены примеры использования этого API. Читать далее

## A Bit of Gradle Housekeeping

DevFeed: [A Bit of Gradle Housekeeping](<https://devfeed.tech/articles/a-bit-of-gradle-housekeeping-27046.md>)

Original publisher: [Read original article](<https://zsmb.co/a-bit-of-gradle-housekeeping/>)

Author: Márton Braun

Published: 2021-09-01T20:00:00Z

Content type: tutorial

Language: en

Sources: [zsmb.co](<https://devfeed.tech/sources/zsmb-co.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [Android](<https://devfeed.tech/topics/android.md>), [Android Gradle Plugin](<https://devfeed.tech/topics/android-gradle-plugin.md>), [configuration](<https://devfeed.tech/topics/configuration.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-gradle-plugin](<https://devfeed.tech/tags/android-gradle-plugin.md>), [build](<https://devfeed.tech/tags/build.md>), [build-tools](<https://devfeed.tech/tags/build-tools.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [deprecated](<https://devfeed.tech/tags/deprecated.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [groovy](<https://devfeed.tech/tags/groovy.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [marton-braun](<https://devfeed.tech/tags/marton-braun.md>), [properties](<https://devfeed.tech/tags/properties.md>), [zsmb](<https://devfeed.tech/tags/zsmb.md>), [zsmb-co](<https://devfeed.tech/tags/zsmb-co.md>), [zsmb13](<https://devfeed.tech/tags/zsmb13.md>), [zsmbco](<https://devfeed.tech/tags/zsmbco.md>)

### AI overview

This tutorial explains how to simplify Android Gradle project configuration by removing obsolete build-tool, Java, and Kotlin JVM target settings and replacing deprecated SDK version properties. It also discusses keeping project source-set configuration simple.

### Source excerpt

While cleaning is traditionally a spring activity, let me invite you to do it at the end of summer this time around. In this article, we'll take a look at some Gradle configuration that you can probably clean up in your Android project.

## GoLand 2021.2: Улучшенная поддержка Go-модулей, новые возможности запуска gofmt, поддержка Go 1.17

DevFeed: [GoLand 2021.2: Улучшенная поддержка Go-модулей, новые возможности запуска gofmt, поддержка Go 1.17](<https://devfeed.tech/articles/goland-2021-2-go-gofmt-go-1-17-23927.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/JetBrains/articles/571464/>)

Author: asspirin12 (JetBrains)

Published: 2021-08-05T14:41:53Z

Content type: release

Language: ru

Sources: [JetBrains RU](<https://devfeed.tech/sources/jetbrains-ru.md>)

Topics: [ide](<https://devfeed.tech/topics/ide.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Git](<https://devfeed.tech/topics/git.md>), [MongoDB](<https://devfeed.tech/topics/mongodb.md>)

Tags: [build-tools](<https://devfeed.tech/tags/build-tools.md>), [git](<https://devfeed.tech/tags/git.md>), [go](<https://devfeed.tech/tags/go.md>), [goland](<https://devfeed.tech/tags/goland.md>), [golang](<https://devfeed.tech/tags/golang.md>), [ide](<https://devfeed.tech/tags/ide.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [learn](<https://devfeed.tech/tags/learn.md>), [load](<https://devfeed.tech/tags/load.md>), [modules](<https://devfeed.tech/tags/modules.md>), [mongodb](<https://devfeed.tech/tags/mongodb.md>), [project](<https://devfeed.tech/tags/project.md>)

### AI overview

This Russian release article introduces GoLand 2021.2 and describes improvements to Go module support, gofmt integration, Go 1.17 features, GPG-signed commits, browser page reloading, code completion, onboarding, and Git learning materials.

### Source excerpt

Привет, Хабр! Вышел GoLand 2021.2 -- второй релиз этого года. Сегодня расскажем, что нового в этом релизе, и покажем, как пользоваться новой функциональностью. Читать далее

## Android version codes in Gradle build variants and generated configuration

DevFeed: [Android version codes in Gradle build variants and generated configuration](<https://devfeed.tech/articles/android-version-code-tricks-38615.md>)

Original publisher: [Read original article](<https://krossovochkin.com/posts/2019_07_04_android_version_code_tricks/>)

Published: 2019-07-04T00:00:00Z

Content type: tutorial

Language: en

Sources: [Vasya Drobushkov](<https://devfeed.tech/sources/vasya-drobushkov.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [version](<https://devfeed.tech/topics/version.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [build tools](<https://devfeed.tech/topics/build-tools.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [build](<https://devfeed.tech/tags/build.md>), [build-tools](<https://devfeed.tech/tags/build-tools.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

This article explains how Android version codes are configured in build.gradle, accessed through BuildConfig and PackageManager, and overridden for specific build variants. It describes a discrepancy in which BuildConfig.VERSION_CODE and the processed AndroidManifest can receive different values because separate build-tool tasks use different sources.

### Source excerpt

Introduction Version code is a special integer value which works as an internal version number. It is not visible to end users. Android system uses this number to protect against application downgrades -- it is not possible to install new application with version code lower than in currently installed application. Developers can use version code for example for doing specific tasks on updating to specific version. Version code is placed inside AndroidManifest, but usually it is inside *defaultConfig *in build.gradle (from where it is populated to *AndroidManifest *during assemble). Also it is possible to access version code from generated BuildConfig.VERSION_CODE.

## Simplified application versioning with maven

DevFeed: [Simplified application versioning with maven](<https://devfeed.tech/articles/simplified-application-versioning-with-maven-27306.md>)

Original publisher: [Read original article](<https://blog.pchudzik.com/201905/maven-revision/>)

Published: 2019-05-29T00:00:00Z

Content type: tutorial

Language: en

Sources: [Paweł Chudzik](<https://devfeed.tech/sources/pawe-chudzik.md>)

Topics: [Maven](<https://devfeed.tech/topics/maven.md>), [modules](<https://devfeed.tech/topics/modules.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [build-tools](<https://devfeed.tech/tags/build-tools.md>), [commands](<https://devfeed.tech/tags/commands.md>), [maven](<https://devfeed.tech/tags/maven.md>), [module](<https://devfeed.tech/tags/module.md>), [properties](<https://devfeed.tech/tags/properties.md>), [versioning](<https://devfeed.tech/tags/versioning.md>)

### AI overview

This tutorial explains how Maven 3.5 simplifies application versioning, especially in multi-module projects, by using the ${revision}, ${sha1}, and ${changelist} properties in project version tags. It covers setting these values in project properties, from the command line, or in an external file.

### Source excerpt

Version management in maven (especially in multi-module projects) was not pleasant and required multiple build steps, some magic commands and maybe bash script here and there. With version 3.5.0 new cool feature has been added to maven. From this version you can easily customize your build number from build tools using simple properties like ${revision} ${sha1} and ${changelist}. Read more

## Moving to API Level 27 and Facebook Clone is DONE!

DevFeed: [Moving to API Level 27 and Facebook Clone is DONE!](<https://devfeed.tech/articles/moving-to-api-level-27-and-facebook-clone-is-done-19381.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/moving-to-27-facebook-clone-done/>)

Author: Shai Almog

Published: 2018-05-30T00:00:00Z

Content type: news

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [API](<https://devfeed.tech/topics/api.md>), [App](<https://devfeed.tech/topics/app.md>), [migration](<https://devfeed.tech/topics/migration.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [app](<https://devfeed.tech/tags/app.md>), [build-tools](<https://devfeed.tech/tags/build-tools.md>), [migration](<https://devfeed.tech/tags/migration.md>), [updates](<https://devfeed.tech/tags/updates.md>)

### AI overview

The article announces an upcoming update of the build tools and build target to API level 27, recommends checking applications before the change, and reports that the Facebook Clone course module is complete and live. It also mentions a delayed course price increase and an updated privacy policy.

### Source excerpt

This is important: We'll update the build tools & build target to API level 27 with next week's update (June 8th). We HIGHLY recommend you check your app before we flip the switch! I also just uploaded the final lesson in the Facebook Clone App which is now fully live in the online course. I've discussed the build target 27 migration before. We wanted to do it in May but the work on the Facebook clone pushed that back so it will have to wait. You can test this right now by setting the build hints:

## Maintain Library Versions ACross Modules

DevFeed: [Maintain Library Versions ACross Modules](<https://devfeed.tech/articles/maintain-library-versions-across-modules-22821.md>)

Original publisher: [Read original article](<http://androidessence.com/maintain-library-versions-across-modules/>)

Author: Adam McNeilly

Published: 2017-05-05T00:00:00Z

Content type: tutorial

Language: en

Sources: [Android Essence](<https://devfeed.tech/sources/android-essence.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Android](<https://devfeed.tech/topics/android.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [build-tools](<https://devfeed.tech/tags/build-tools.md>), [code](<https://devfeed.tech/tags/code.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [modules](<https://devfeed.tech/tags/modules.md>), [project](<https://devfeed.tech/tags/project.md>)

### AI overview

A tutorial on centralizing Android library and build configuration version numbers in the project-level Gradle file so they can be reused consistently across multiple modules.

### Source excerpt

It is tough enough maintaing your app by updating the support library version numbers every time a new version is out, let alone factoring in any other third party libraries you may use. This is especially painful if you have multiple modules, as you have to update the version in each build.gradle file. Thankfully, we can make use of the project level gradle file to make this more maintainable.

## Automating JavaScript Library Releases to npm and Bower

DevFeed: [Automating JavaScript Library Releases to npm and Bower](<https://devfeed.tech/articles/release-your-libs-like-a-pro-21272.md>)

Original publisher: [Read original article](<https://juri.dev/blog/2015/10/release-like-a-pro/>)

Published: 2015-10-07T00:00:00Z

Content type: tutorial

Language: en

Sources: [Juri Strumpflohner](<https://devfeed.tech/sources/juri-strumpflohner.md>)

Topics: [releases](<https://devfeed.tech/topics/releases.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [npm](<https://devfeed.tech/topics/npm.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [changelog](<https://devfeed.tech/topics/changelog.md>)

Tags: [build-tools](<https://devfeed.tech/tags/build-tools.md>), [changelog](<https://devfeed.tech/tags/changelog.md>), [ci](<https://devfeed.tech/tags/ci.md>), [npm](<https://devfeed.tech/tags/npm.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [release](<https://devfeed.tech/tags/release.md>), [webpack](<https://devfeed.tech/tags/webpack.md>)

### AI overview

A guide to automating JavaScript library releases to npm and Bower. It discusses automated builds with continuous integration, package-manager distribution, semantic versioning, and changelogs.

### Source excerpt

Lorem ipsum dolor sit amet

## Go Package Management For 2014

DevFeed: [Go Package Management For 2014](<https://devfeed.tech/articles/go-package-management-for-2014-22093.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2014/01/go-package-management-for-2014.html>)

Published: 2014-01-16T00:00:00Z

Content type: opinion

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Package Management](<https://devfeed.tech/topics/package-management.md>), [Package manager](<https://devfeed.tech/topics/package-manager.md>)

Tags: [ardan-labs](<https://devfeed.tech/tags/ardan-labs.md>), [blog](<https://devfeed.tech/tags/blog.md>), [build-tools](<https://devfeed.tech/tags/build-tools.md>), [compatibility](<https://devfeed.tech/tags/compatibility.md>), [developers](<https://devfeed.tech/tags/developers.md>), [go](<https://devfeed.tech/tags/go.md>), [go-programming](<https://devfeed.tech/tags/go-programming.md>), [golang](<https://devfeed.tech/tags/golang.md>), [package-management](<https://devfeed.tech/tags/package-management.md>), [programming](<https://devfeed.tech/tags/programming.md>), [versioning](<https://devfeed.tech/tags/versioning.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

The article reviews progress toward package management for Go, including community coordination, a goals document, tool classification, user stories, test packages, and bug fixes. It argues that multiple tools may be needed and outlines compatibility, versioning, and portability guidelines for tool developers.

### Source excerpt

Introduction In October 2013 I sent out a call to action to the Go community. I wanted to form a group of Gophers that would come together and help write a specification and build a working implementation of a package management tool. We are not there yet, but the group did accomplish a few things: We started a mailing list called Go package management [go-pm] where people could discuss ideas and get feedback on existing and new tools. We wrote a goals document that outlined what we wanted to accomplish along with guidelines and help for package management tool authors. We identified and categorized the existing set of tools that are available for use. We developed a set of user stories that describe the different scenarios people were facing. We started a list of packages that tool developers can use to test their tools against. We helped some of the tool developers find and fix bugs. Overall I think the last 3 months have been productive and I am pleased with the results. Building Tools I have come to appreciate that there isn't going to be a silver bullet or a one tool fits all solution. I believe a majority of the use-cases that have been defined in the goals document can be solved and building tools to handle these use-cases is worth the time and effort. If you're thinking about building a tool, please consider these guidelines which are outlined in the goals document: Work with the Go language as defined in the Go 1 spec of March 28, 2012. Don't implement solutions that require feature changes or build tools that change the way Go works. Provide backwards compatibility with go get and the convention of using VCS repositories in the import paths. The existing set of programs, build processes and workflows can't break. You must respect the existing environments and allow them to continue to function. Prevent version skewing. Don't build into the solution the potential for version skewing to occur. Such as requiring semantic versioning in the import path urls. Im

## ReactOS Newsletter 71: USB stack development and build tool fixes

DevFeed: [ReactOS Newsletter 71: USB stack development and build tool fixes](<https://devfeed.tech/articles/newsletter-71-32937.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/newsletter-71/>)

Published: 2010-04-23T00:00:00Z

Content type: news

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [ReactOS](<https://devfeed.tech/topics/reactos.md>), [USB](<https://devfeed.tech/topics/usb.md>), [gcc](<https://devfeed.tech/topics/gcc.md>), [linker](<https://devfeed.tech/topics/linker.md>), [Windows](<https://devfeed.tech/topics/windows.md>), [Xen](<https://devfeed.tech/topics/xen.md>)

Tags: [build-tools](<https://devfeed.tech/tags/build-tools.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [free](<https://devfeed.tech/tags/free.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [linker](<https://devfeed.tech/tags/linker.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [usb](<https://devfeed.tech/tags/usb.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

### AI overview

This ReactOS newsletter reports work on lower-level USB stack components, including a basic usbehci driver tested in Windows XP, and describes GCC, linker, library, and binutils fixes needed for interoperability with Microsoft's C/C++ compiler.

### Source excerpt

NT USB Stack Pre-Vista, the USB architecture started with a very low level usbport driver. This driver was the one that created device objects for each USB controller and received I/O Request Packets (IRP). Depending on which USB standard the controllers were for, usbport would call into one of three helper drivers, usbehci, usbohci, and usbuhci. The one actually sending those IRPs was usbhub, and these components constitute the lower levels of the USB stack.