SlideShare a Scribd company logo
How to create a local
Android open source
project mirror
1. Obtain necessary
information
Before you set up a local Android open source
project mirror using Deveo, you need to know:
correct at time of publishing
• The current Android Git server address
android.googlesource.com
correct at time of publishing
• Deveo server address
app.deveo.com
• Name for the Deveo project we wish to set
up the local android open source project mirror
• Your Deveo plugin key, company key, and
account key
These can be found in your user preferences
located in the top right of the Deveo web
interface
• Your Deveo username
• Your company name in Deveo
The company name one you type whenever you
log in to Deveo.
2. Create the Deveo project
for our mirror
We will create the project programmatically
through Deveo REST APIs. But first, lets export
the Android open source project Git server
URL, Deveo plugin key, company key and your
account key, as well as the project name and
the Deveo URL as shell variables...
export ANDROID_URL=android.googlesource.com
export PLUGIN_KEY=3a12d59d6220aa024cb45b8c7b82db12
export
COMPANY_KEY=c18c6317641b13223228b1cd7254e9b8
export
ACCOUNT_KEY=462c0f154875824a626c81a26ab3212f
export DEVEO_URL=app.deveo.com
export DEVEO_PROJECT=my-android-open-source-
project-fork
export DEVEO_USERNAME=ilmarideveocom
REMEMBER TO REPLACE THE EXAMPLE
KEYS, URLS ETC. WITH YOUR OWN
For example:
Now use the following curl command to create
a new Deveo project in Deveo:
curl -X POST 
-H "Accept: application/vnd.deveo.v1" 
-H "Authorization: deveo
plugin_key='$PLUGIN_KEY',company_key='$COMPAN
Y_KEY',account_key='$ACCOUNT_KEY" 
-H "Content-Type: application/json" 
-d '{ "id": "$DEVEO_PROJECT", "name":
"$DEVEO_PROJECT" }' 
https://$DEVEO_URL/api/projects
Check the results from the web interface.
There should be a new project in your Deveo
dashboard with the appropriate name.
3. Create the repositories
Create a Git repository in Deveo, using the
following curl snippet:
curl -X POST 
-H "Accept: application/vnd.deveo.v1" 
-H "Authorization: deveo
plugin_key='$PLUGIN_KEY',company_key='$COMPANY_K
EY',account_key='$ACCOUNT_KEY'" 
-H "Content-Type: application/json" 
-d '{ "id": "platform/manifest", "type": "git"
}' 
https://$DEVEO_URL/api/projects/$DEVEO_PROJECT/r
epositories
Grab it from:
https://github.com/Deveo/local-android-open-source-
project-mirror
Since it would be tedious to copy-paste the
code snippet over and over for each repository
in the manifest.xml file, we created an XSL
template that can be used to read and create a
file containing one curl snippet for each
repository.
4. Clone the original
repositories from official
Android open source
project repository
Clone the repositories using --bare switch in
order to store the repositories within the
hierarchical structure in the local filesystem.
For example:
With the manifest repository, we would do as follows:
cd platform/manifest
git remote add deveo
https://$DEVEO_USERNAME@$DEVEO_URL/$DEVEO_CO
MPANY/projects/$DEVEO_PROJECT/repositories/g
it/platform/manifest
git push --mirror deveo
cd -
Get the template here:
https://github.com/Deveo/local-android-open-source-project-mirror
To make this easier, we've used a similar
template based approach for going through all
repositories.
5. Push the repositories to
the Deveo project
To push repositories to Deveo, go to the
directory of the repository, add a new remote
to the repository pointing to the Deveo
repository URL, and finally, push the changes
using --mirror switch.
For example, With the manifest repository,
we would do as follows:
cd platform/manifest git remote add
deveo
https://$DEVEO_USERNAME@$DEVEO_URL/$DEV
EO_CO
MPANY/projects/$DEVEO_PROJECT/repositor
ies/git/platfor m/manifest git push --
mirror deveo cd -
For this snippet to work we need to export
Deveo username and company name as
command line variables.
For example:
export DEVEO_USERNAME=ilmarideveocom
export DEVEO_COMPANY=deveo
Like in the previous two steps, our XSL
template based approach takes care of the
heavy lifting and copy-pasting.
Get the XSL here:
https://github.com/Deveo/local-android-open-source-project-mirror
6. Test everything works
Now you have all of the repositories pushed to
Deveo, you must test things out following the
official Android open source project
instructions, and using Deveo as the clone URL.
For example, run this repo command to
initialize a new client from your freshly created
local mirror:
repo init -u
https://ilmarideveocom@app.deveo.com/dev
eo/projects/aosp-
testi/repositories/git/platform/manifest
How did you get on?
Let us know!
Tweet us @DeveoTeam

More Related Content

What's hot

Step by step guide to build ionic hybrid app using cordova android
Step by step guide to build ionic hybrid app using cordova androidStep by step guide to build ionic hybrid app using cordova android
Step by step guide to build ionic hybrid app using cordova android
swagat parida
 
Cordova 101
Cordova 101Cordova 101
Cordova 101
Rob Dudley
 
Extending Eclipse Che to build custom cloud IDEs
Extending Eclipse Che to build custom cloud IDEsExtending Eclipse Che to build custom cloud IDEs
Extending Eclipse Che to build custom cloud IDEs
Florent BENOIT
 
Appium Dockerization: from Scratch to Advanced Implementation - HUSTEF 2019
Appium Dockerization: from Scratch to Advanced Implementation - HUSTEF 2019Appium Dockerization: from Scratch to Advanced Implementation - HUSTEF 2019
Appium Dockerization: from Scratch to Advanced Implementation - HUSTEF 2019
Sargis Sargsyan
 
Editing an app cloud 9
Editing an app   cloud 9Editing an app   cloud 9
Editing an app cloud 9
Charles Ferentchak
 
Code in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and DockerCode in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and Docker
Florent BENOIT
 
Symfony2 Specification by examples
Symfony2   Specification by examplesSymfony2   Specification by examples
Symfony2 Specification by examples
Corley S.r.l.
 
TDC2016SP - Trilha Android
TDC2016SP - Trilha AndroidTDC2016SP - Trilha Android
TDC2016SP - Trilha Android
tdc-globalcode
 
Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016
Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016
Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016
Florent BENOIT
 
Eclipse Che : ParisJUG
Eclipse Che : ParisJUGEclipse Che : ParisJUG
Eclipse Che : ParisJUG
Florent BENOIT
 
Hybrid Apps in a Snap
Hybrid Apps in a SnapHybrid Apps in a Snap
Hybrid Apps in a Snap
Paulina Gallo
 
DevOps Heroes 2019
DevOps Heroes 2019DevOps Heroes 2019
DevOps Heroes 2019
Andrea Tosato
 
Codefresh + Cloud 66 webinar: Testing Strategies for Docker Driven Development
Codefresh + Cloud 66 webinar: Testing Strategies for Docker Driven DevelopmentCodefresh + Cloud 66 webinar: Testing Strategies for Docker Driven Development
Codefresh + Cloud 66 webinar: Testing Strategies for Docker Driven Development
Codefresh
 
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Ajeet Singh Raina
 
Ciao: Continuous Integration for Apps on OpenStack
Ciao: Continuous Integration for Apps on OpenStackCiao: Continuous Integration for Apps on OpenStack
Ciao: Continuous Integration for Apps on OpenStack
Everett Toews
 
Eclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsEclipse 2011 Hot Topics
Eclipse 2011 Hot Topics
Lars Vogel
 
Ane for 9ria_cn
Ane for 9ria_cnAne for 9ria_cn
Ane for 9ria_cn
sonicxs
 
Cordova Tutorial
Cordova TutorialCordova Tutorial
Cordova Tutorial
Jacky Chen
 
Pinned sites in ie9 [beta]
Pinned sites in ie9 [beta]Pinned sites in ie9 [beta]
Pinned sites in ie9 [beta]
Kirk Yamamoto
 
Flutter workshop @ bang saen 2020
Flutter workshop @ bang saen 2020Flutter workshop @ bang saen 2020
Flutter workshop @ bang saen 2020
Anuchit Chalothorn
 

What's hot (20)

Step by step guide to build ionic hybrid app using cordova android
Step by step guide to build ionic hybrid app using cordova androidStep by step guide to build ionic hybrid app using cordova android
Step by step guide to build ionic hybrid app using cordova android
 
Cordova 101
Cordova 101Cordova 101
Cordova 101
 
Extending Eclipse Che to build custom cloud IDEs
Extending Eclipse Che to build custom cloud IDEsExtending Eclipse Che to build custom cloud IDEs
Extending Eclipse Che to build custom cloud IDEs
 
Appium Dockerization: from Scratch to Advanced Implementation - HUSTEF 2019
Appium Dockerization: from Scratch to Advanced Implementation - HUSTEF 2019Appium Dockerization: from Scratch to Advanced Implementation - HUSTEF 2019
Appium Dockerization: from Scratch to Advanced Implementation - HUSTEF 2019
 
Editing an app cloud 9
Editing an app   cloud 9Editing an app   cloud 9
Editing an app cloud 9
 
Code in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and DockerCode in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and Docker
 
Symfony2 Specification by examples
Symfony2   Specification by examplesSymfony2   Specification by examples
Symfony2 Specification by examples
 
TDC2016SP - Trilha Android
TDC2016SP - Trilha AndroidTDC2016SP - Trilha Android
TDC2016SP - Trilha Android
 
Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016
Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016
Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016
 
Eclipse Che : ParisJUG
Eclipse Che : ParisJUGEclipse Che : ParisJUG
Eclipse Che : ParisJUG
 
Hybrid Apps in a Snap
Hybrid Apps in a SnapHybrid Apps in a Snap
Hybrid Apps in a Snap
 
DevOps Heroes 2019
DevOps Heroes 2019DevOps Heroes 2019
DevOps Heroes 2019
 
Codefresh + Cloud 66 webinar: Testing Strategies for Docker Driven Development
Codefresh + Cloud 66 webinar: Testing Strategies for Docker Driven DevelopmentCodefresh + Cloud 66 webinar: Testing Strategies for Docker Driven Development
Codefresh + Cloud 66 webinar: Testing Strategies for Docker Driven Development
 
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
 
Ciao: Continuous Integration for Apps on OpenStack
Ciao: Continuous Integration for Apps on OpenStackCiao: Continuous Integration for Apps on OpenStack
Ciao: Continuous Integration for Apps on OpenStack
 
Eclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsEclipse 2011 Hot Topics
Eclipse 2011 Hot Topics
 
Ane for 9ria_cn
Ane for 9ria_cnAne for 9ria_cn
Ane for 9ria_cn
 
Cordova Tutorial
Cordova TutorialCordova Tutorial
Cordova Tutorial
 
Pinned sites in ie9 [beta]
Pinned sites in ie9 [beta]Pinned sites in ie9 [beta]
Pinned sites in ie9 [beta]
 
Flutter workshop @ bang saen 2020
Flutter workshop @ bang saen 2020Flutter workshop @ bang saen 2020
Flutter workshop @ bang saen 2020
 

Similar to How to create a local Android open source project mirror in 6 easy steps

XCode Templates tutorial – How To Create Custom Template Step By Step.pdf
XCode Templates tutorial – How To Create Custom Template Step By Step.pdfXCode Templates tutorial – How To Create Custom Template Step By Step.pdf
XCode Templates tutorial – How To Create Custom Template Step By Step.pdf
SatawareTechnologies6
 
Aleksandr Kutsan "Managing Dependencies in C++"
Aleksandr Kutsan "Managing Dependencies in C++"Aleksandr Kutsan "Managing Dependencies in C++"
Aleksandr Kutsan "Managing Dependencies in C++"
LogeekNightUkraine
 
CICD With GitHub, Travis, SonarCloud and Docker Hub
CICD With GitHub, Travis, SonarCloud and Docker HubCICD With GitHub, Travis, SonarCloud and Docker Hub
CICD With GitHub, Travis, SonarCloud and Docker Hub
Carlos Cavero Barca
 
StackEngine Problem Space Demo
StackEngine Problem Space DemoStackEngine Problem Space Demo
StackEngine Problem Space Demo
Boyd Hemphill
 
Javascript mynotes
Javascript mynotesJavascript mynotes
Javascript mynotes
AntoniaSymeonidou1
 
Modern Gentlemen's WordPress
Modern Gentlemen's WordPressModern Gentlemen's WordPress
Modern Gentlemen's WordPress
Enrico Deleo
 
DevNet Associate : Python introduction
DevNet Associate : Python introductionDevNet Associate : Python introduction
DevNet Associate : Python introduction
Joel W. King
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of Technology
Ajeet Singh Raina
 
iOS App Using cordova
iOS App Using cordovaiOS App Using cordova
iOS App Using cordova
Mitosis Technology
 
Build your android app with gradle
Build your android app with gradleBuild your android app with gradle
Build your android app with gradle
Swain Loda
 
Open Architecture in the Adobe Marketing Cloud - Summit 2014
Open Architecture in the Adobe Marketing Cloud - Summit 2014Open Architecture in the Adobe Marketing Cloud - Summit 2014
Open Architecture in the Adobe Marketing Cloud - Summit 2014
Paolo Mottadelli
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
Ajeet Singh Raina
 
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentEclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
DevOps.com
 
Dockerize your Symfony application - Symfony Live NYC 2014
Dockerize your Symfony application - Symfony Live NYC 2014Dockerize your Symfony application - Symfony Live NYC 2014
Dockerize your Symfony application - Symfony Live NYC 2014
André Rømcke
 
Docker Starter Pack
Docker Starter PackDocker Starter Pack
Docker Starter Pack
Saeed Hajizade
 
Amazing vue.js projects that are open source and free.
Amazing vue.js projects that are open source and free.Amazing vue.js projects that are open source and free.
Amazing vue.js projects that are open source and free.
Katy Slemon
 
Shipping NodeJS with Docker and CoreOS
Shipping NodeJS with Docker and CoreOSShipping NodeJS with Docker and CoreOS
Shipping NodeJS with Docker and CoreOS
Ross Kukulinski
 
Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...
Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...
Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...
Red Hat Developers
 
Native Android Development with Spring
Native Android Development with SpringNative Android Development with Spring
Native Android Development with Spring
Roy Clarkson
 
Demystifying Docker101
Demystifying Docker101Demystifying Docker101
Demystifying Docker101
Ajeet Singh Raina
 

Similar to How to create a local Android open source project mirror in 6 easy steps (20)

XCode Templates tutorial – How To Create Custom Template Step By Step.pdf
XCode Templates tutorial – How To Create Custom Template Step By Step.pdfXCode Templates tutorial – How To Create Custom Template Step By Step.pdf
XCode Templates tutorial – How To Create Custom Template Step By Step.pdf
 
Aleksandr Kutsan "Managing Dependencies in C++"
Aleksandr Kutsan "Managing Dependencies in C++"Aleksandr Kutsan "Managing Dependencies in C++"
Aleksandr Kutsan "Managing Dependencies in C++"
 
CICD With GitHub, Travis, SonarCloud and Docker Hub
CICD With GitHub, Travis, SonarCloud and Docker HubCICD With GitHub, Travis, SonarCloud and Docker Hub
CICD With GitHub, Travis, SonarCloud and Docker Hub
 
StackEngine Problem Space Demo
StackEngine Problem Space DemoStackEngine Problem Space Demo
StackEngine Problem Space Demo
 
Javascript mynotes
Javascript mynotesJavascript mynotes
Javascript mynotes
 
Modern Gentlemen's WordPress
Modern Gentlemen's WordPressModern Gentlemen's WordPress
Modern Gentlemen's WordPress
 
DevNet Associate : Python introduction
DevNet Associate : Python introductionDevNet Associate : Python introduction
DevNet Associate : Python introduction
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of Technology
 
iOS App Using cordova
iOS App Using cordovaiOS App Using cordova
iOS App Using cordova
 
Build your android app with gradle
Build your android app with gradleBuild your android app with gradle
Build your android app with gradle
 
Open Architecture in the Adobe Marketing Cloud - Summit 2014
Open Architecture in the Adobe Marketing Cloud - Summit 2014Open Architecture in the Adobe Marketing Cloud - Summit 2014
Open Architecture in the Adobe Marketing Cloud - Summit 2014
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
 
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentEclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
 
Dockerize your Symfony application - Symfony Live NYC 2014
Dockerize your Symfony application - Symfony Live NYC 2014Dockerize your Symfony application - Symfony Live NYC 2014
Dockerize your Symfony application - Symfony Live NYC 2014
 
Docker Starter Pack
Docker Starter PackDocker Starter Pack
Docker Starter Pack
 
Amazing vue.js projects that are open source and free.
Amazing vue.js projects that are open source and free.Amazing vue.js projects that are open source and free.
Amazing vue.js projects that are open source and free.
 
Shipping NodeJS with Docker and CoreOS
Shipping NodeJS with Docker and CoreOSShipping NodeJS with Docker and CoreOS
Shipping NodeJS with Docker and CoreOS
 
Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...
Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...
Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...
 
Native Android Development with Spring
Native Android Development with SpringNative Android Development with Spring
Native Android Development with Spring
 
Demystifying Docker101
Demystifying Docker101Demystifying Docker101
Demystifying Docker101
 

Recently uploaded

E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 

Recently uploaded (20)

E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 

How to create a local Android open source project mirror in 6 easy steps

  • 1. How to create a local Android open source project mirror
  • 3. Before you set up a local Android open source project mirror using Deveo, you need to know:
  • 4. correct at time of publishing • The current Android Git server address android.googlesource.com
  • 5. correct at time of publishing • Deveo server address app.deveo.com
  • 6. • Name for the Deveo project we wish to set up the local android open source project mirror
  • 7. • Your Deveo plugin key, company key, and account key These can be found in your user preferences located in the top right of the Deveo web interface
  • 8. • Your Deveo username
  • 9. • Your company name in Deveo The company name one you type whenever you log in to Deveo.
  • 10. 2. Create the Deveo project for our mirror
  • 11. We will create the project programmatically through Deveo REST APIs. But first, lets export the Android open source project Git server URL, Deveo plugin key, company key and your account key, as well as the project name and the Deveo URL as shell variables...
  • 12. export ANDROID_URL=android.googlesource.com export PLUGIN_KEY=3a12d59d6220aa024cb45b8c7b82db12 export COMPANY_KEY=c18c6317641b13223228b1cd7254e9b8 export ACCOUNT_KEY=462c0f154875824a626c81a26ab3212f export DEVEO_URL=app.deveo.com export DEVEO_PROJECT=my-android-open-source- project-fork export DEVEO_USERNAME=ilmarideveocom REMEMBER TO REPLACE THE EXAMPLE KEYS, URLS ETC. WITH YOUR OWN For example:
  • 13. Now use the following curl command to create a new Deveo project in Deveo:
  • 14. curl -X POST -H "Accept: application/vnd.deveo.v1" -H "Authorization: deveo plugin_key='$PLUGIN_KEY',company_key='$COMPAN Y_KEY',account_key='$ACCOUNT_KEY" -H "Content-Type: application/json" -d '{ "id": "$DEVEO_PROJECT", "name": "$DEVEO_PROJECT" }' https://$DEVEO_URL/api/projects
  • 15. Check the results from the web interface. There should be a new project in your Deveo dashboard with the appropriate name.
  • 16. 3. Create the repositories
  • 17. Create a Git repository in Deveo, using the following curl snippet:
  • 18. curl -X POST -H "Accept: application/vnd.deveo.v1" -H "Authorization: deveo plugin_key='$PLUGIN_KEY',company_key='$COMPANY_K EY',account_key='$ACCOUNT_KEY'" -H "Content-Type: application/json" -d '{ "id": "platform/manifest", "type": "git" }' https://$DEVEO_URL/api/projects/$DEVEO_PROJECT/r epositories
  • 19. Grab it from: https://github.com/Deveo/local-android-open-source- project-mirror Since it would be tedious to copy-paste the code snippet over and over for each repository in the manifest.xml file, we created an XSL template that can be used to read and create a file containing one curl snippet for each repository.
  • 20. 4. Clone the original repositories from official Android open source project repository
  • 21. Clone the repositories using --bare switch in order to store the repositories within the hierarchical structure in the local filesystem.
  • 22. For example: With the manifest repository, we would do as follows: cd platform/manifest git remote add deveo https://$DEVEO_USERNAME@$DEVEO_URL/$DEVEO_CO MPANY/projects/$DEVEO_PROJECT/repositories/g it/platform/manifest git push --mirror deveo cd -
  • 23. Get the template here: https://github.com/Deveo/local-android-open-source-project-mirror To make this easier, we've used a similar template based approach for going through all repositories.
  • 24. 5. Push the repositories to the Deveo project
  • 25. To push repositories to Deveo, go to the directory of the repository, add a new remote to the repository pointing to the Deveo repository URL, and finally, push the changes using --mirror switch.
  • 26. For example, With the manifest repository, we would do as follows: cd platform/manifest git remote add deveo https://$DEVEO_USERNAME@$DEVEO_URL/$DEV EO_CO MPANY/projects/$DEVEO_PROJECT/repositor ies/git/platfor m/manifest git push -- mirror deveo cd -
  • 27. For this snippet to work we need to export Deveo username and company name as command line variables. For example: export DEVEO_USERNAME=ilmarideveocom export DEVEO_COMPANY=deveo
  • 28. Like in the previous two steps, our XSL template based approach takes care of the heavy lifting and copy-pasting. Get the XSL here: https://github.com/Deveo/local-android-open-source-project-mirror
  • 30. Now you have all of the repositories pushed to Deveo, you must test things out following the official Android open source project instructions, and using Deveo as the clone URL.
  • 31. For example, run this repo command to initialize a new client from your freshly created local mirror: repo init -u https://ilmarideveocom@app.deveo.com/dev eo/projects/aosp- testi/repositories/git/platform/manifest
  • 32. How did you get on? Let us know! Tweet us @DeveoTeam