How can make my own cocoapods on GitLab instead of GitHub? - github

I wanna make private repository for my own cocoapod but Github needs payment plan for let me keep on.
So I wanna know can I do this via Gitlab?

You can follow the same process as the one described in "XCode + Gitlab + Cocoapods or How I modularised my iOS source code" by Jonathan Neumann.
Jonathan is using GitLab.
Create a specsrepo project within that group. This repository will host the podspecs that describe each of your modules. A podspec basically tells cocoapods what to install, and where to find it.
Do the same for the main project and one of its modules. Let’s call the projects TopProject and Submodule1

Related

How to update a custom composer package across many Github hosted projects?

I've developed a composer package that's included into many Github repo Laravel projects. It's set to a specific version, but even if I make it slightly looser and set the patch version to be a asterisk for the patch version I still need to run a composer update in the project that requires the package so that when running composer install on a server it installs the correct version.
The issue I'm facing is that when I release a new package version, I've got to run composer update locally, say 15 times each for 15 projects, then commit all 15, and open pull requests for all 15 etc making the process incredibly slow.
Is there a better way to handle composer update, maybe I need to develop a little CLI application to communicate with the Github api to open PRs and merge them?
What you are describing is exactly what's expected and intended to happen. Full projects with commited lock-files are supposed to install the locked version unless updated.
You could use something like this composer update action to run regularly and create commits when necessary, or work with the GitHub provided Dependabot.
But if this is not coupled with a robust test suite and finely tuned version constraints, you could end up breaking already working projects because some randome dependency introduced an unexpected change in behavior.

Can a VIPM package repository be set up on GitHub?

VIPM stands for Virtual Instrument Package Manager. It is a manager of install-able packages for NI LabVIEW. It is published by JKI Software and a free version of it is distributed with LabVIEW.
Registered (paying) users can set up public or private VI Package repositories. I would like to set one up on GitHub.
I attempted to do so by first creating a VI Repository on my local hard drive, publishing some packages to it, then making a remote clone on GitHub. Using the VIPM Repository Manager, I added the repository by browsing to the index.vipr file on my remote GitHub clone. However, VIPM gives me an error saying that the repository was not found.
Has anyone managed to set up and subscribe VI package repository on GitHub?
The short answer is that GitHub and a VIPM repository are fundamentally different and unless VIPM adds support for git repositories and GitHub then I doubt it will be possible.
If you are considering managing dependencies of any project using GitHub as a source for your shared libraries then you might want to consider a package manager like yarn.
Yarn (and others like npm and bower) are capable of fetching (cloning) from GitHub and follow the common practice from the Web developer world (and others) of having all a project's dependencies contained within the project; This is a departure from the VIPM view where you update your development environment (LabVIEW) by installing the packages 'globally'.
A list of the project's installed libraries and the library versions are stored in a human-readable file called package.json which provides a portable way of getting the project setup on another machine.
As new releases of the libraries happen, you can choose when to update the library in your project by selectively updating the libraries.
This approach works well with LabVIEW packed libraries (.lvlibp) as opposed to VIPM packages as there is no install-into-LabVIEW-IDE step with packed-libraries. If you have a hierarchy of packed libraries then they can also specify their dependent libraries using a package.json and then yarn can install all the libraries recursively.
It is possible to configure Yarn to place libraries into a folder of your own choosing instead of the default node_modules (as used by Node.js).
The advantages of this are:
You can choose which versions of libraries to use per project
Package managers integrate nicely with automatic testing and building setups
You can use GitHub or other git-providers for publishing your libraries
The disadvantages are:
More setup
It is not a common approach in the LabVIEW development world
Your VIs won't be installed into the LabVIEW palettes unless you explicitly install them

Create new vendor application for YII2 in GitHub

I created a very simple plugin for yii2 and added it to Github.
https://github.com/harlangray/languageswitcher
When I add "harlangray/languageswitcher": "*" to the require section and run composer update on my project, it gives me an error.
Problem 1
- The requested package xxxxx could not be found in any version, there may be a typo in the package name.
Potential causes:
- A typo in the package name
- The package is not available in a stable-enough version according to your minimum-stability setting
see https:xxxxx for more details.
Read http:yyyyy for further common problems.
I am really new to github and composer. Can someone give me the steps to create a plugin and make it uninstallable via composer?
Thank you
Composer has no idea about github packages, unless you add them as under the repositories as a package.
If you want to be able to install it via the require section you'll need to add your package to Packagist. This is the site composers gets the package meta information from.
Only thing you have to do is register, click the big "Submit Package" button and point it to your github project. Optionally (but advised) you could setup a hook in github to update packagist every time you commit something to github so that you don't have to do it manually.

Automatically mirroring a Gitlab repo onto Github on push

I'm looking for a way to automatically mirror my Gitlab repos to Github, on push. I use Gitlab repos as my main repos, and would rather have to push to only one remote. But, I want my code to be browsable on Github also.
I found similar questions on StackOverflow, such as this one.
But the answers are always the same: one should add a custom post-receive git hook to the gitlab repo. This requires a shell access to the server running Gitlab. As I'm hosting a community edition Gitlab for many users, and not only me, they can't have easy access to a shell (and this isn't the most user-friendly way to do this), so it does not fit my needs.
I thought about two ways to implement it:
Either a MirrorOnPush project service, implementing such a git hook in Ruby, as the EmailOnPush project service currently do.
Or use a custom server to clone and push the repo, using a webhook.
The first one seems to be the cleaner to me, but I can't find any doc about Gitlab project service and code structure… On the other hand, the second is a bad and ugly hack, but is almost straightforward.
I'd rather implement a project service to handle it. Do you have any doc or leads on how to write a project service for Gitlab (without having to read all the Gitlab source code, as there seems to be no dev doc…) ?
Thanks !
one should add a custom post-receive git hook to the gitlab repo.
Actually, that was the best solution, up until 7.x GitLab, as I detailed in "Gitlab repository mirroring";
A true project service for repo mirroring is requested, but not voted up enough: suggestion: suggestion 4614663.
The main documentations remains:
the app models project services folder,
the spec models project services folder,
the doc/project_services,
the project services scenarios.
This isn't much, as the OP noted before.
Since it That leaves you with the hack approach.

Deploy Subrepos to Appharbor

I am attempting to setup a deployment on appharbor for code hosted on bitbucket. I have a number of projects that make use of a library project that I have, so I use subrepos to keep my code manageable. This prevents appharbor from deploying because the subrepos aren't included in the download.
This post led me to why this problem occurs:
AppHarbor, BitBucket and SubRepo Work Around
What I'm struggling with is how to implement the workaround that they stated. Is this cron job/zip file something that I'm going to have to host myself or is it possible to do with just bitbucket and appharbor's post build events? Thanks for any help that can point me in the right direction.
Instead of complicated workarounds, you might want to look into adding your library dependency as a NuGet package from a private feed. That could be hosted here: http://www.myget.org