We have a legacy system whose code files are stored in a proprietary (binary) format.
You cannot modify them unless:
You use the proprietary editor, which is awful
You export the code to a text file, do your changes using any text editor, then import the code back to it's original format. Any attempt to modify the binary files outside the official editor will corrupt them.
Also, any developer who want to work on the code in their Windows machines must:
Log into their unix account through terminal.
Use a shell script to convert the binary to text.
Download the text file to Windows through FTP.
Code using their preferred editor.
Upload finished code, again through FTP, to the unix server.
Use another shell script to convert text to binary format.
Now to my question(s):
Let's say the developers has all the code converted to text in a predefined folder in their machines. Is it possible to configure Jenkins to automatically upload any changes made to their unix account and convert back into binary? And vice versa.
I am currently working on this, but my solution implies installing a script/service which will run continuously in the developers' machines.
I would prefer this other solution, with the goal of in the future starting a CI/CD pipeline from it.
Use any version control system to store code in text format.
Developers will pull, do job and push changes, all in text format.
In Jenkins create job, use Build Triggers to convert to binaries on any changes in version control system. Copy binaries where needed.
Related
I want to provide support to convert single-page and multi-page tiff files into PDFs. There is an executable in Bit Miracle's LibTiff.NET called Tiff2Pdf.
How do I use Tiff2Pdf in my application to convert tiff data stream (not a file) into a pdf data stream (not a file)?
I do not know if there is an API exposed because the documentation only lists Tiff2Pdf as a tool. I also do not see any examples in the examples folder using it in a programmatic way to determine if it can handle data streams or how to use it in my own program.
libtiff tools expect a filename so the background run shown below is simply from upper right X.tif to various destinations, first is default
tiff2pdf x.tif
and we can see it writes a tiff2pdf file stream to console (Standard Output) however it failed in memory without a directory to write to. However on second run we can redirect
tiff2pdf x.tif > a.pdf
or alternately specify a destination
tiff2pdf -o b.pdf x.tif
So in order to use those tools we need a File System to receive the file objects, The destination folder/file directory can be a Memory File System drive or folder.
Thus you need to initiate that first.
NuGet is a package manager simply bundling the lib and as I don't use .net your a bit out on a limb as BitMiricle are not offering free support (hence point you at Stack Overflow, a very common tech support PLOY, Pass Liability Over Yonder) however looking at https://github.com/BitMiracle/libtiff.net/tree/master/Samples
they suggest memory in some file names such as https://github.com/BitMiracle/libtiff.net/tree/master/Samples/ConvertToSingleStripInMemory , perhaps get more ideas there?
Just started on the process of converting my app to the windows store.
Having some hard time trying to figure out how to use the desktop app converter when the program comes in a zip package with additional files that needs to be included (Not just the EXE)
What i mean is typically speaking the users would download the zip file from the website and then extract it and run the EXE file. However in that zip file there's things like Drivers and Languages, I suppose i can make an MSI but i wanted to see if this was possible.
Anyone knows a way to just convert the ZIP file using the desktop app converter?
Thank you!
The Desktop App Converter has an option to create a Windows App Package (.appx) from a regular folder. So you just need to unzip your ZIP file and point the DAC at the folder, specifying what EXE should be the entry point: https://learn.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-run-desktop-app-converter#no-installer-conversion - note however, that you can't deploy drivers with a Windows App Package (.appx).
I have an application that updates some files in Unix server. Since I cannot modify this application, is there any way I can make sure that these files are copied before each update so I can have a history of the changes?
Is there a way/tool in Unix so I can do that?
If on Linux (specifically) you could use inotify(7) facilities (perhaps via incrontab ...)
Alternatively, you might run periodically (thru some crontab(5) entry) a script doing some make with your particular Makefile (since GNU make is designed to care about timestamps) managing e.g. backups. Or you could periodically run some rsync command.
However, it smells like you need some revision control (also known as version control system). I strongly recommend git; you could use it before and after running your application (e.g. write some wrapping shell script doing that).
But there is probably no universal solution (e.g. what if the monitored application is keeping a file descriptor opened for a long time, and write the file little by little...). You should explain much more what is happening and what do you want ...
I am using Symfony2 Console as a stand alone component and I am looking for a way to copy some text on clipboard with a command. It must be for all Operating Systems.
For example:
php cli/console smth:copy
And when the command is run it must copy some text to user clipboard.
I've have google it and didn't found anything.
Is that possible an if is it how can i accomplish this task?
I have a website on which I have published several of my applications.
Right now I have to update it each time one of the applications is updated.
The applications themselves check for updates so the user only visits the website if they don't have a previous version installed.
I would like to make it easier for me by creating a single executable that when downloaded and executed, will check with the database which version is the most recent and then download that one and run that setup.
Now I can make a downloader for each application, but I rather make something more universal with a parameter or argument as the difference.
For the download the 'know' which database to check for the most recent version, I need to pass on the data to the downloader.
My first thought was putting that in a XML file, so I only have to generate different xml files for each application, but then it wouldn't be a single executable anymore.
My second thought was using commandline arguments like: downloader.exe databasename
But how would I do that when the file is downloaded?
Would a link like: "https://my.website.com/downloader.exe databasename" work?
How could I best do this?
rg.
Eric