<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://tech.uvoo.io/index.php?action=history&amp;feed=atom&amp;title=Cryptofex-bin-directory</id>
	<title>Cryptofex-bin-directory - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://tech.uvoo.io/index.php?action=history&amp;feed=atom&amp;title=Cryptofex-bin-directory"/>
	<link rel="alternate" type="text/html" href="https://tech.uvoo.io/index.php?title=Cryptofex-bin-directory&amp;action=history"/>
	<updated>2026-04-26T01:18:50Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.2</generator>
	<entry>
		<id>https://tech.uvoo.io/index.php?title=Cryptofex-bin-directory&amp;diff=106&amp;oldid=prev</id>
		<title>imported&gt;Justin: Created page with &quot;The Cryptofex IDE bin Directory --------------------------------  This directory is the home of binary files that Cryptofex IDE needs access to in order to provide some of the...&quot;</title>
		<link rel="alternate" type="text/html" href="https://tech.uvoo.io/index.php?title=Cryptofex-bin-directory&amp;diff=106&amp;oldid=prev"/>
		<updated>2019-01-14T22:59:40Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;The Cryptofex IDE bin Directory --------------------------------  This directory is the home of binary files that Cryptofex IDE needs access to in order to provide some of the...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The Cryptofex IDE bin Directory&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
This directory is the home of binary files that Cryptofex IDE needs access to in&lt;br /&gt;
order to provide some of the features for working with files.  In particular, it&lt;br /&gt;
is the home of &amp;quot;rholangCLI.jar&amp;quot;, which is used to provide an interpreter for testing&lt;br /&gt;
Rholang files.  I fully expect it will also be the home for platform-dependent&lt;br /&gt;
binaries as well, such as &amp;quot;busybox&amp;quot;, which we will likely need for the Windows&lt;br /&gt;
packaged version of this IDE.&lt;br /&gt;
&lt;br /&gt;
This file has a secondary purpose as well:  to add &amp;quot;bin/&amp;quot; to the repository; due to&lt;br /&gt;
the compiled nature of the files we expect to put in this directory, we do not want&lt;br /&gt;
to add them to our git repository, yet git doesn't permit the addition of empty&lt;br /&gt;
directories into the repositiory.  Thus, I have decided to put the information relative&lt;br /&gt;
to this directory here, rather than in another relevant document.&lt;br /&gt;
&lt;br /&gt;
The position of this current directory is *not* the ideal position:  due to some quirks&lt;br /&gt;
with differences between running from the command line vs running from an AppImage, it&lt;br /&gt;
is necessary to create two symlinks to make sure that things work correctly.&lt;br /&gt;
&lt;br /&gt;
Suppose we have the following directory structure (simplified from the actual structure):&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
    /[cryptofex-ide-home]   [this is the directory that is one above the repository]&lt;br /&gt;
        /[electron-ide]     [the repository that holds the Cryptofex IDE source]&lt;br /&gt;
            /bin            [the directory that holds binary files for the IDE]&lt;br /&gt;
            /ide            [the directory I need to be in to run and/or build the IDE]&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
In order for Cryptofex IDE to find &amp;quot;bin&amp;quot; when running from the command line (ie, when&lt;br /&gt;
 we run &amp;quot;yarn run&amp;quot; or &amp;quot;yarn test&amp;quot; from the &amp;quot;[electron-ide]/ide&amp;quot; directory) we need a &amp;quot;bin&amp;quot;&lt;br /&gt;
file on the same level as the repository.  Thus, in the directory &amp;quot;[electron-ide]&amp;quot;&lt;br /&gt;
we need to execute the following command:&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
mkdir ../usr&lt;br /&gt;
ln -s `pwd`/usr/sbin ../bin&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
In order for Electron Builder to find &amp;quot;bin&amp;quot; when constructing AppImage and friends,&lt;br /&gt;
(ie, when we run &amp;quot;yarn dist&amp;quot;), we need to execute the following command:&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
ln -s `pwd`/bin ide/dist_bin&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
When we execute these commands, our directory structure should look something like this:&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
    /[cryptofex-ide-home]   [this is the directory that is one above the repository]&lt;br /&gt;
        /usr/sbin -&amp;gt; [electron-ide]/bin/&lt;br /&gt;
        /[electron-ide]     [the repository that holds the Cryptofex IDE source]&lt;br /&gt;
            /bin            [the directory that holds binary files for the IDE]&lt;br /&gt;
            /ide            [the directory I need to be in to run and/or build the IDE]&lt;br /&gt;
                /dist_bin -&amp;gt; ../bin&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
Note that the &amp;quot;/usr/sbin&amp;quot; symbolic link will be used by multiple versions of Cryptofex IDE&lt;br /&gt;
if there is more than one repository in the same &amp;quot;[cryptofex-ide-home]&amp;quot; -- for example,&lt;br /&gt;
I have &amp;quot;electron-ide&amp;quot; and &amp;quot;test-electron-ide&amp;quot; repositories.  This probably won't be a&lt;br /&gt;
problem in most cases -- if there's a reason for me to have two different &amp;quot;rholangCLI.jar&amp;quot;&lt;br /&gt;
files, though, then I will be forced to put the repositories in two different&lt;br /&gt;
&amp;quot;[cryptofex-ide-home]&amp;quot; directories.&lt;br /&gt;
&lt;br /&gt;
(I find it useful to use a Unix tool called &amp;quot;tree&amp;quot; to view directory structures; this tool&lt;br /&gt;
typically doesn't come with Unix distributions, though, but should be available in most&lt;/div&gt;</summary>
		<author><name>imported&gt;Justin</name></author>
	</entry>
</feed>