Spezifische Daten nicht einchecken: Unterschied zwischen den Versionen

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen
K
 
Zeile 7: Zeile 7:
 
Hierzu benötigt man 4 Dateien.
 
Hierzu benötigt man 4 Dateien.
 
Die normale Datei die man verwendet, z.B. '''Constants.cs''':
 
Die normale Datei die man verwendet, z.B. '''Constants.cs''':
<code=csharp>
+
<syntaxhighlight langf="csharp">
 
     public static partial class Constants
 
     public static partial class Constants
 
     {
 
     {
 
     }
 
     }
</code=csharp>
+
</syntaxhighlight>
  
 
Hierzu kommt eine extra Datei in der die privaten Attribute eingepflegt werden, '''Constants_private.cs''':
 
Hierzu kommt eine extra Datei in der die privaten Attribute eingepflegt werden, '''Constants_private.cs''':
<code=csharp>
+
<syntaxhighlight langf="csharp">
 
     public static partial class Constants
 
     public static partial class Constants
 
     {
 
     {
Zeile 21: Zeile 21:
 
         public const string AMAZON_ASSOCIATE_TAG = "";
 
         public const string AMAZON_ASSOCIATE_TAG = "";
 
     }
 
     }
</code=csharp>
+
</syntaxhighlight>
  
 
Diese Datei wird noch einmal unter einem anderen Namen abgelegt, alternativ kann man auch einen Link auf diese Datei legen, '''Constants_private.empty''':
 
Diese Datei wird noch einmal unter einem anderen Namen abgelegt, alternativ kann man auch einen Link auf diese Datei legen, '''Constants_private.empty''':
<code=csharp>
+
<syntaxhighlight langf="csharp">
 
     public static partial class Constants
 
     public static partial class Constants
 
     {
 
     {
Zeile 31: Zeile 31:
 
         public const string AMAZON_ASSOCIATE_TAG = "";
 
         public const string AMAZON_ASSOCIATE_TAG = "";
 
     }
 
     }
</code=csharp>
+
</syntaxhighlight>
  
 
Als letztes wird eine Datei erzeugt in der die Werte für die Attribute mit angegeben werden, '''Constants_private.priv''':
 
Als letztes wird eine Datei erzeugt in der die Werte für die Attribute mit angegeben werden, '''Constants_private.priv''':
<code=csharp>
+
<syntaxhighlight langf="csharp">
 
     public static partial class Constants
 
     public static partial class Constants
 
     {
 
     {
Zeile 41: Zeile 41:
 
         public const string AMAZON_ASSOCIATE_TAG = "234dsdh-21";
 
         public const string AMAZON_ASSOCIATE_TAG = "234dsdh-21";
 
     }
 
     }
</code=csharp>
+
</syntaxhighlight>
  
 
Jetzt muss nur noch ein PreBuild Event in [[Visual Studio]] angelegt werden, dieses kopiert für die Buildvorgang die richtigen Werte in die Klasse:
 
Jetzt muss nur noch ein PreBuild Event in [[Visual Studio]] angelegt werden, dieses kopiert für die Buildvorgang die richtigen Werte in die Klasse:

Aktuelle Version vom 4. November 2018, 16:30 Uhr

doofer Titel, kann gern geändert werden ;-)

Oft hat man technische Zugangsdaten z.B. für Backendsysteme, welche aber nicht ins SCM-System eingecheckt werden sollten. Je nach Sprache und Plattform hat man verschiedene Möglichkeiten.

Visual Studio/C#/VB

Hierzu benötigt man 4 Dateien. Die normale Datei die man verwendet, z.B. Constants.cs:

    public static partial class Constants
    {
    }

Hierzu kommt eine extra Datei in der die privaten Attribute eingepflegt werden, Constants_private.cs:

    public static partial class Constants
    {
        public const string AMAZON_ACCESS_KEY = "";
        public const string AMAZON_ACCESS_SECRET = "";
        public const string AMAZON_ASSOCIATE_TAG = "";
    }

Diese Datei wird noch einmal unter einem anderen Namen abgelegt, alternativ kann man auch einen Link auf diese Datei legen, Constants_private.empty:

    public static partial class Constants
    {
        public const string AMAZON_ACCESS_KEY = "";
        public const string AMAZON_ACCESS_SECRET = "";
        public const string AMAZON_ASSOCIATE_TAG = "";
    }

Als letztes wird eine Datei erzeugt in der die Werte für die Attribute mit angegeben werden, Constants_private.priv:

    public static partial class Constants
    {
        public const string AMAZON_ACCESS_KEY = "asdasfggs";
        public const string AMAZON_ACCESS_SECRET = "234tgasdgasdr";
        public const string AMAZON_ASSOCIATE_TAG = "234dsdh-21";
    }

Jetzt muss nur noch ein PreBuild Event in Visual Studio angelegt werden, dieses kopiert für die Buildvorgang die richtigen Werte in die Klasse:

if EXIST "$(ProjectDir)\Constants_private.priv" copy "$(ProjectDir)\Constants_private.priv"  "$(ProjectDir)\Constants_private.cs"

Und ein PostBuild Event um diese wieder zu entfernen

if EXIST "$(ProjectDir)\Constants_private.empty" copy "$(ProjectDir)\Constants_private.empty" "$(ProjectDir)\Constants_private.cs"


Außer der Constants_private.priv kann jede Datei eingecheckt werden, fehlt die Datei kann aber trotzdem gebaut werden, z.B. im Buildsystem. Dieses kann die Datei aber auch von irgendwo laden. Wichtig ist nur dass die Constants_private.priv und Constants_private.emtpy nicht im VS Projekt eingetragen sind.


Java/Android

iOS/XCode