在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):prezi/pride开源软件地址(OpenSource Url):https://github.com/prezi/pride开源编程语言(OpenSource Language):Java 92.3%开源软件介绍(OpenSource Introduction):PridePride is a tool to help you manage the local development of large modular applications built with Gradle. It consists of a command-line tool to manage your prides of modules, and a Gradle plugin to add some extra functionality to the Gradle projects that resolves your modules to local projects. You can read about Pride on Prezi's engineering blog or watch Lorant's presentation about it at the Gradle Summit 2014. How does it work?Pride works with the concept of modules: Git or Subversion repositories containing individual Gradle projects that depend on each other. You can build large applications of such modules, but while working on the application in your local development environment, you rarely need to work on all of the modules at the same time. If you only want to work on one module at a time, it's no problem, as Gradle will load the module's dependencies from whatever artifact repository you are deploying your built modules into. But things get more complicated when you want to change multiple interdependent modules at the same time. You will end up having to combine your modules into a single Gradle project, or relying on installing your modules in a local Ivy or Maven repository so that dependent modules can get to them. Pride tries a different route. We call the set of modules you want to work on a "pride." A pride is a directory with all these modules locally cloned next to each other. Pride generates a Gradle project on top of them, so that Gradle can see all your modules in a single Gradle multi-project.
Dependencies between the projects in a pride are resolved amongst themselves, so you don't need to install artifacts anywhere. Builds are also faster, because Gradle knows a lot about your pride, and after a change it can build only what is strictly necessary. All dependencies that are not part of the pride are resolved to external dependencies as usual. WorkflowPrides are designed to be relatively short-lived entities, born when you want to change something, and discarded when you are finished with your changes. You can have multiple prides, even containing the same modules. Here's a typical Pride session: # Create the pride
mkdir quick-fix-for-security-bug
cd quick-fix-for-security-bug
pride init
# Add modules that need fixing (these are resolved from repo.base.url, see below)
pride add network-component backend-api
# Now you do some work and realize you also need another module (with an absolute URL)
pride add https://github.com/myself/myproject
# Once you changed stuff, you probably want to run "check" on all your projects:
./gradlew check
# If you are happy with your changes, you want to see what's changed
pride do -- git status --short
# You commit and push, and then discard the pride directory altogether Get PridePrerequisitesTo work with Git or Subversion modules, you'll need to have Git or Subversion installed. Pride is a Java application, so it requires Java 6+ as well. Note: Since version 0.11, Pride requires Gradle 2.5 or later. If you projects require an earlier Gradle version, try Pride version 0.10. Installing PrideYou can easily install Pride with Homebrew:
You can also download the latest version of Pride from the releases section. First time setupIf you are installing Pride for the first time, it's recommended to set the base URL for all your Git repositories, for example:
So when you execute Building from sourceIf you want to experiment with Pride: git clone [email protected]:prezi/pride.git
cd pride
./gradlew install
export PATH=$PATH:`pwd`/pride/build/install/pride/bin Note: On Windows you will need to add Check if everything works via:
UsageCommand linePride has an extensive help system (much similar to Git), so it's easy to start with:
To create a new pride do this in an empty directory:
To add modules by cloning them:
Where
The |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论